diff --git a/Makefile b/Makefile
index 954a865..4dc179b 100644
--- a/Makefile
+++ b/Makefile
@@ -1452,6 +1452,7 @@
 		-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
 		-o -name '*.symtypes' -o -name 'modules.order' \
 		-o -name modules.builtin -o -name '.tmp_*.o.*' \
+		-o -name 'dsdt.aml' -o -name 'dsdt.asl.tmp' -o -name 'dsdt.c' \
 		-o -name '*.gcno' \) -type f -print | xargs rm -f
 
 # mrproper - Delete all generated files, including .config
diff --git a/README b/README
index 88ff837..6f4c09a 100644
--- a/README
+++ b/README
@@ -1003,6 +1003,7 @@
 		CONFIG_CMD_ECHO		  echo arguments
 		CONFIG_CMD_EDITENV	  edit env variable
 		CONFIG_CMD_EEPROM	* EEPROM read/write support
+		CONFIG_CMD_EEPROM_LAYOUT* EEPROM layout aware commands
 		CONFIG_CMD_ELF		* bootelf, bootvx
 		CONFIG_CMD_ENV_CALLBACK	* display details about env callbacks
 		CONFIG_CMD_ENV_FLAGS	* display details about env flags
@@ -1066,7 +1067,7 @@
 		CONFIG_CMD_RUN		  run command in env variable
 		CONFIG_CMD_SANDBOX	* sb command to access sandbox features
 		CONFIG_CMD_SAVES	* save S record dump
-		CONFIG_CMD_SCSI		* SCSI Support
+		CONFIG_SCSI		* SCSI Support
 		CONFIG_CMD_SDRAM	* print SDRAM configuration information
 					  (requires CONFIG_CMD_I2C)
 		CONFIG_CMD_SETGETDCR	  Support for DCR Register access
@@ -1254,7 +1255,7 @@
 		CONFIG_MTD_PARTITIONS  Memory Technology Device partition table.
 
 		If IDE or SCSI support is enabled (CONFIG_CMD_IDE or
-		CONFIG_CMD_SCSI) you must configure support for at
+		CONFIG_SCSI) you must configure support for at
 		least one non-MTD partition type as well.
 
 - IDE Reset method:
@@ -3487,6 +3488,10 @@
 		consider that a completely unreadable NAND block is bad,
 		and thus should be skipped silently.
 
+		CONFIG_SPL_ABORT_ON_RAW_IMAGE
+		When defined, SPL will proceed to another boot method
+		if the image it has loaded does not have a signature.
+
 		CONFIG_SPL_RELOC_STACK
 		Adress of the start of the stack SPL will use after
 		relocation.  If unspecified, this is equal to
diff --git a/api/api.c b/api/api.c
index 457dc36..8a1433a 100644
--- a/api/api.c
+++ b/api/api.c
@@ -52,7 +52,7 @@
 {
 	int *c;
 
-	if ((c = (int *)va_arg(ap, u_int32_t)) == NULL)
+	if ((c = (int *)va_arg(ap, uintptr_t)) == NULL)
 		return API_EINVAL;
 
 	*c = getc();
@@ -68,7 +68,7 @@
 {
 	int *t;
 
-	if ((t = (int *)va_arg(ap, u_int32_t)) == NULL)
+	if ((t = (int *)va_arg(ap, uintptr_t)) == NULL)
 		return API_EINVAL;
 
 	*t = tstc();
@@ -84,7 +84,7 @@
 {
 	char *c;
 
-	if ((c = (char *)va_arg(ap, u_int32_t)) == NULL)
+	if ((c = (char *)va_arg(ap, uintptr_t)) == NULL)
 		return API_EINVAL;
 
 	putc(*c);
@@ -100,7 +100,7 @@
 {
 	char *s;
 
-	if ((s = (char *)va_arg(ap, u_int32_t)) == NULL)
+	if ((s = (char *)va_arg(ap, uintptr_t)) == NULL)
 		return API_EINVAL;
 
 	puts(s);
@@ -132,7 +132,7 @@
 {
 	struct sys_info *si;
 
-	si = (struct sys_info *)va_arg(ap, u_int32_t);
+	si = (struct sys_info *)va_arg(ap, uintptr_t);
 	if (si == NULL)
 		return API_ENOMEM;
 
@@ -148,7 +148,7 @@
 {
 	unsigned long *d;
 
-	if ((d = (unsigned long *)va_arg(ap, u_int32_t)) == NULL)
+	if ((d = (unsigned long *)va_arg(ap, unsigned long)) == NULL)
 		return API_EINVAL;
 
 	udelay(*d);
@@ -164,11 +164,11 @@
 {
 	unsigned long *base, *cur;
 
-	cur = (unsigned long *)va_arg(ap, u_int32_t);
+	cur = (unsigned long *)va_arg(ap, unsigned long);
 	if (cur == NULL)
 		return API_EINVAL;
 
-	base = (unsigned long *)va_arg(ap, u_int32_t);
+	base = (unsigned long *)va_arg(ap, unsigned long);
 	if (base == NULL)
 		return API_EINVAL;
 
@@ -199,7 +199,7 @@
 	struct device_info *di;
 
 	/* arg is ptr to the device_info struct we are going to fill out */
-	di = (struct device_info *)va_arg(ap, u_int32_t);
+	di = (struct device_info *)va_arg(ap, uintptr_t);
 	if (di == NULL)
 		return API_EINVAL;
 
@@ -233,7 +233,7 @@
 	int err = 0;
 
 	/* arg is ptr to the device_info struct */
-	di = (struct device_info *)va_arg(ap, u_int32_t);
+	di = (struct device_info *)va_arg(ap, uintptr_t);
 	if (di == NULL)
 		return API_EINVAL;
 
@@ -265,7 +265,7 @@
 	int err = 0;
 
 	/* arg is ptr to the device_info struct */
-	di = (struct device_info *)va_arg(ap, u_int32_t);
+	di = (struct device_info *)va_arg(ap, uintptr_t);
 	if (di == NULL)
 		return API_EINVAL;
 
@@ -319,7 +319,7 @@
 	int err = 0;
 
 	/* 1. arg is ptr to the device_info struct */
-	di = (struct device_info *)va_arg(ap, u_int32_t);
+	di = (struct device_info *)va_arg(ap, uintptr_t);
 	if (di == NULL)
 		return API_EINVAL;
 
@@ -329,12 +329,12 @@
 		return API_ENODEV;
 
 	/* 2. arg is ptr to buffer from where to get data to write */
-	buf = (void *)va_arg(ap, u_int32_t);
+	buf = (void *)va_arg(ap, uintptr_t);
 	if (buf == NULL)
 		return API_EINVAL;
 
 	/* 3. arg is length of buffer */
-	len = (int *)va_arg(ap, u_int32_t);
+	len = (int *)va_arg(ap, uintptr_t);
 	if (len == NULL)
 		return API_EINVAL;
 	if (*len <= 0)
@@ -387,7 +387,7 @@
 	int *len_net, *act_len_net;
 
 	/* 1. arg is ptr to the device_info struct */
-	di = (struct device_info *)va_arg(ap, u_int32_t);
+	di = (struct device_info *)va_arg(ap, uintptr_t);
 	if (di == NULL)
 		return API_EINVAL;
 
@@ -397,23 +397,23 @@
 		return API_ENODEV;
 
 	/* 2. arg is ptr to buffer from where to put the read data */
-	buf = (void *)va_arg(ap, u_int32_t);
+	buf = (void *)va_arg(ap, uintptr_t);
 	if (buf == NULL)
 		return API_EINVAL;
 
 	if (di->type & DEV_TYP_STOR) {
 		/* 3. arg - ptr to var with # of blocks to read */
-		len_stor = (lbasize_t *)va_arg(ap, u_int32_t);
+		len_stor = (lbasize_t *)va_arg(ap, uintptr_t);
 		if (!len_stor)
 			return API_EINVAL;
 		if (*len_stor <= 0)
 			return API_EINVAL;
 
 		/* 4. arg - ptr to var with start block */
-		start = (lbastart_t *)va_arg(ap, u_int32_t);
+		start = (lbastart_t *)va_arg(ap, uintptr_t);
 
 		/* 5. arg - ptr to var where to put the len actually read */
-		act_len_stor = (lbasize_t *)va_arg(ap, u_int32_t);
+		act_len_stor = (lbasize_t *)va_arg(ap, uintptr_t);
 		if (!act_len_stor)
 			return API_EINVAL;
 
@@ -422,14 +422,14 @@
 	} else if (di->type & DEV_TYP_NET) {
 
 		/* 3. arg points to the var with length of packet to read */
-		len_net = (int *)va_arg(ap, u_int32_t);
+		len_net = (int *)va_arg(ap, uintptr_t);
 		if (!len_net)
 			return API_EINVAL;
 		if (*len_net <= 0)
 			return API_EINVAL;
 
 		/* 4. - ptr to var where to put the len actually read */
-		act_len_net = (int *)va_arg(ap, u_int32_t);
+		act_len_net = (int *)va_arg(ap, uintptr_t);
 		if (!act_len_net)
 			return API_EINVAL;
 
@@ -453,9 +453,9 @@
 {
 	char *name, **value;
 
-	if ((name = (char *)va_arg(ap, u_int32_t)) == NULL)
+	if ((name = (char *)va_arg(ap, uintptr_t)) == NULL)
 		return API_EINVAL;
-	if ((value = (char **)va_arg(ap, u_int32_t)) == NULL)
+	if ((value = (char **)va_arg(ap, uintptr_t)) == NULL)
 		return API_EINVAL;
 
 	*value = getenv(name);
@@ -476,9 +476,9 @@
 {
 	char *name, *value;
 
-	if ((name = (char *)va_arg(ap, u_int32_t)) == NULL)
+	if ((name = (char *)va_arg(ap, uintptr_t)) == NULL)
 		return API_EINVAL;
-	if ((value = (char *)va_arg(ap, u_int32_t)) == NULL)
+	if ((value = (char *)va_arg(ap, uintptr_t)) == NULL)
 		return API_EINVAL;
 
 	setenv(name, value);
@@ -498,9 +498,9 @@
 	int i, n;
 	char *last, **next;
 
-	last = (char *)va_arg(ap, u_int32_t);
+	last = (char *)va_arg(ap, unsigned long);
 
-	if ((next = (char **)va_arg(ap, u_int32_t)) == NULL)
+	if ((next = (char **)va_arg(ap, uintptr_t)) == NULL)
 		return API_EINVAL;
 
 	if (last == NULL)
@@ -662,14 +662,14 @@
 	}
 
 	setenv_hex("api_address", (unsigned long)sig);
-	debugf("API sig @ 0x%08x\n", sig);
+	debugf("API sig @ 0x%lX\n", (unsigned long)sig);
 	memcpy(sig->magic, API_SIG_MAGIC, 8);
 	sig->version = API_SIG_VERSION;
 	sig->syscall = &syscall;
 	sig->checksum = 0;
 	sig->checksum = crc32(0, (unsigned char *)sig,
 			      sizeof(struct api_signature));
-	debugf("syscall entry: 0x%08x\n", sig->syscall);
+	debugf("syscall entry: 0x%lX\n", (unsigned long)sig->syscall);
 }
 
 void platform_set_mr(struct sys_info *si, unsigned long start, unsigned long size,
diff --git a/api/api_storage.c b/api/api_storage.c
index 8c30c56..d425a9a 100644
--- a/api/api_storage.c
+++ b/api/api_storage.c
@@ -67,7 +67,7 @@
 	specs[ENUM_SATA].type = DEV_TYP_STOR | DT_STOR_SATA;
 	specs[ENUM_SATA].name = "sata";
 #endif
-#if defined(CONFIG_CMD_SCSI)
+#if defined(CONFIG_SCSI)
 	specs[ENUM_SCSI].max_dev = CONFIG_SYS_SCSI_MAX_DEVICE;
 	specs[ENUM_SCSI].enum_started = 0;
 	specs[ENUM_SCSI].enum_ended = 0;
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 6b65d8e..729b181 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -594,6 +594,7 @@
 	select DM
 	select OF_CONTROL
 	select DM_SERIAL
+	select SUPPORT_SPL
 
 config TEGRA
 	bool "NVIDIA Tegra"
diff --git a/arch/arm/cpu/armv7/mx7/clock_slice.c b/arch/arm/cpu/armv7/mx7/clock_slice.c
index ad5d504..1665df9 100644
--- a/arch/arm/cpu/armv7/mx7/clock_slice.c
+++ b/arch/arm/cpu/armv7/mx7/clock_slice.c
@@ -55,7 +55,7 @@
 	  PLL_ENET_MAIN_250M_CLK, PLL_AUDIO_MAIN_CLK}
 	},
 	{AHB_CLK_ROOT, CCM_AHB_CHANNEL,
-	 {OSC_24M_CLK, PLL_SYS_PFD2_135M_CLK, PLL_DRAM_MAIN_533M_CLK,
+	 {OSC_24M_CLK, PLL_SYS_PFD2_270M_CLK, PLL_DRAM_MAIN_533M_CLK,
 	  PLL_SYS_PFD0_392M_CLK, PLL_ENET_MAIN_125M_CLK, PLL_USB_MAIN_480M_CLK,
 	  PLL_AUDIO_MAIN_CLK, PLL_VIDEO_MAIN_CLK}
 	},
diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S
index c3cc819..e933021 100644
--- a/arch/arm/cpu/armv8/start.S
+++ b/arch/arm/cpu/armv8/start.S
@@ -216,7 +216,7 @@
 #endif
 #endif
 
-#ifndef CONFIG_ARMV8_MULTIENTRY
+#ifdef CONFIG_ARMV8_MULTIENTRY
 	branch_if_master x0, x1, 2f
 
 	/*
diff --git a/arch/arm/cpu/armv8/zynqmp/Makefile b/arch/arm/cpu/armv8/zynqmp/Makefile
index d0ed222..be8673a 100644
--- a/arch/arm/cpu/armv8/zynqmp/Makefile
+++ b/arch/arm/cpu/armv8/zynqmp/Makefile
@@ -9,3 +9,4 @@
 obj-y	+= cpu.o
 obj-$(CONFIG_MP)	+= mp.o
 obj-y	+= slcr.o
+obj-$(CONFIG_SPL_BUILD) += spl.o
diff --git a/arch/arm/cpu/armv8/zynqmp/spl.c b/arch/arm/cpu/armv8/zynqmp/spl.c
new file mode 100644
index 0000000..e3e2a4f
--- /dev/null
+++ b/arch/arm/cpu/armv8/zynqmp/spl.c
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2015 - 2016 Xilinx, Inc.
+ *
+ * Michal Simek <michal.simek@xilinx.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <debug_uart.h>
+#include <spl.h>
+
+#include <asm/io.h>
+#include <asm/spl.h>
+#include <asm/arch/hardware.h>
+#include <asm/arch/sys_proto.h>
+
+void board_init_f(ulong dummy)
+{
+	psu_init();
+	board_early_init_r();
+
+#ifdef CONFIG_DEBUG_UART
+	/* Uart debug for sure */
+	debug_uart_init();
+	puts("Debug uart enabled\n"); /* or printch() */
+#endif
+	/* Delay is required for clocks to be propagated */
+	udelay(1000000);
+
+	/* Clear the BSS */
+	memset(__bss_start, 0, __bss_end - __bss_start);
+
+	/* No need to call timer init - it is empty for ZynqMP */
+	board_init_r(NULL, 0);
+}
+
+#ifdef CONFIG_SPL_BOARD_INIT
+void spl_board_init(void)
+{
+	preloader_console_init();
+	board_init();
+}
+#endif
+
+u32 spl_boot_device(void)
+{
+	u32 reg = 0;
+	u8 bootmode;
+
+	reg = readl(&crlapb_base->boot_mode);
+	bootmode = reg & BOOT_MODES_MASK;
+
+	switch (bootmode) {
+	case JTAG_MODE:
+		return BOOT_DEVICE_RAM;
+#ifdef CONFIG_SPL_MMC_SUPPORT
+	case EMMC_MODE:
+	case SD_MODE:
+	case SD_MODE1:
+		return BOOT_DEVICE_MMC1;
+#endif
+	default:
+		printf("Invalid Boot Mode:0x%x\n", bootmode);
+		break;
+	}
+
+	return 0;
+}
+
+u32 spl_boot_mode(void)
+{
+	switch (spl_boot_device()) {
+	case BOOT_DEVICE_RAM:
+		return 0;
+	case BOOT_DEVICE_MMC1:
+		return MMCSD_MODE_FS;
+	default:
+		puts("spl: error: unsupported device\n");
+		hang();
+	}
+}
+
+__weak void psu_init(void)
+{
+	 /*
+	  * This function is overridden by the one in
+	  * board/xilinx/zynqmp/(platform)/psu_init_gpl.c, if it exists.
+	  */
+}
+
+#ifdef CONFIG_SPL_OS_BOOT
+int spl_start_uboot(void)
+{
+	return 0;
+}
+#endif
+
+#ifdef CONFIG_SPL_LOAD_FIT
+int board_fit_config_name_match(const char *name)
+{
+	/* Just empty function now - can't decide what to choose */
+	debug("%s: %s\n", __func__, name);
+
+	return 0;
+}
+#endif
diff --git a/arch/arm/dts/am4372.dtsi b/arch/arm/dts/am4372.dtsi
index c95d1d3..3ffa8e0 100644
--- a/arch/arm/dts/am4372.dtsi
+++ b/arch/arm/dts/am4372.dtsi
@@ -547,6 +547,7 @@
 			active_slave = <0>;
 			cpts_clock_mult = <0x80000000>;
 			cpts_clock_shift = <29>;
+			syscon = <&scm_conf>;
 			ranges;
 
 			davinci_mdio: mdio@4a101000 {
diff --git a/arch/arm/dts/dra7.dtsi b/arch/arm/dts/dra7.dtsi
index e7fecf7..0f242e6 100644
--- a/arch/arm/dts/dra7.dtsi
+++ b/arch/arm/dts/dra7.dtsi
@@ -1411,7 +1411,7 @@
 			ti,irqs-safe-map = <0>;
 		};
 
-		mac: ethernet@4a100000 {
+		mac: ethernet@48484000 {
 			compatible = "ti,cpsw";
 			ti,hwmods = "gmac";
 			clocks = <&dpll_gmac_ck>, <&gmac_gmii_ref_clk_div>;
@@ -1426,6 +1426,7 @@
 			active_slave = <0>;
 			cpts_clock_mult = <0x80000000>;
 			cpts_clock_shift = <29>;
+			syscon = <&scm_conf>;
 			reg = <0x48484000 0x1000
 			       0x48485200 0x2E00>;
 			#address-cells = <1>;
diff --git a/arch/arm/dts/exynos4210-universal_c210.dts b/arch/arm/dts/exynos4210-universal_c210.dts
index 16948c9..ad3527e 100644
--- a/arch/arm/dts/exynos4210-universal_c210.dts
+++ b/arch/arm/dts/exynos4210-universal_c210.dts
@@ -42,11 +42,11 @@
 	};
 
 	soft-spi {
-		compatible = "u-boot,soft-spi";
-		cs-gpio = <&gpy4 3 0>;
-		sclk-gpio = <&gpy3 1 0>;
-		mosi-gpio = <&gpy3 3 0>;
-		miso-gpio = <&gpy3 0 0>;
+		compatible = "spi-gpio";
+		cs-gpios = <&gpy4 3 0>;
+		gpio-sck = <&gpy3 1 0>;
+		gpio-mosi = <&gpy3 3 0>;
+		gpio-miso = <&gpy3 0 0>;
 		spi-delay-us = <1>;
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/arch/arm/dts/tegra20-seaboard.dts b/arch/arm/dts/tegra20-seaboard.dts
index eada590..5893d2a 100644
--- a/arch/arm/dts/tegra20-seaboard.dts
+++ b/arch/arm/dts/tegra20-seaboard.dts
@@ -40,10 +40,6 @@
 				nvidia,panel = <&lcd_panel>;
 			};
 		};
-
-		dc@54240000 {
-			status = "disabled";
-		};
 	};
 
 	/* This is not used in U-Boot, but is expected to be in kernel .dts */
diff --git a/arch/arm/dts/zynq-7000.dtsi b/arch/arm/dts/zynq-7000.dtsi
index a327557..b618a3f 100644
--- a/arch/arm/dts/zynq-7000.dtsi
+++ b/arch/arm/dts/zynq-7000.dtsi
@@ -251,7 +251,7 @@
 		slcr: slcr@f8000000 {
 			#address-cells = <1>;
 			#size-cells = <1>;
-			compatible = "xlnx,zynq-slcr", "syscon", "simple-bus";
+			compatible = "xlnx,zynq-slcr", "syscon", "simple-mfd";
 			reg = <0xF8000000 0x1000>;
 			ranges;
 			clkc: clkc@100 {
diff --git a/arch/arm/dts/zynqmp.dtsi b/arch/arm/dts/zynqmp.dtsi
index fb95b48..619450e 100644
--- a/arch/arm/dts/zynqmp.dtsi
+++ b/arch/arm/dts/zynqmp.dtsi
@@ -253,9 +253,9 @@
 			compatible = "arm,gic-400", "arm,cortex-a15-gic";
 			#interrupt-cells = <3>;
 			reg = <0x0 0xf9010000 0x10000>,
-			      <0x0 0xf902f000 0x2000>,
+			      <0x0 0xf9020000 0x20000>,
 			      <0x0 0xf9040000 0x20000>,
-			      <0x0 0xf906f000 0x2000>;
+			      <0x0 0xf9060000 0x20000>;
 			interrupt-controller;
 			interrupt-parent = <&gic>;
 			interrupts = <1 9 0xf04>;
@@ -264,6 +264,7 @@
 
 	amba: amba {
 		compatible = "simple-bus";
+		u-boot,dm-pre-reloc;
 		#address-cells = <2>;
 		#size-cells = <1>;
 		ranges = <0 0 0 0 0xffffffff>;
@@ -674,6 +675,7 @@
 		};
 
 		sdhci0: sdhci@ff160000 {
+			u-boot,dm-pre-reloc;
 			compatible = "arasan,sdhci-8.9a";
 			status = "disabled";
 			interrupt-parent = <&gic>;
@@ -685,6 +687,7 @@
 		};
 
 		sdhci1: sdhci@ff170000 {
+			u-boot,dm-pre-reloc;
 			compatible = "arasan,sdhci-8.9a";
 			status = "disabled";
 			interrupt-parent = <&gic>;
@@ -776,6 +779,7 @@
 		};
 
 		uart0: serial@ff000000 {
+			u-boot,dm-pre-reloc;
 			compatible = "cdns,uart-r1p12", "xlnx,xuartps";
 			status = "disabled";
 			interrupt-parent = <&gic>;
@@ -786,6 +790,7 @@
 		};
 
 		uart1: serial@ff010000 {
+			u-boot,dm-pre-reloc;
 			compatible = "cdns,uart-r1p12", "xlnx,xuartps";
 			status = "disabled";
 			interrupt-parent = <&gic>;
diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c
index 5fb3ed8..4223187 100644
--- a/arch/arm/imx-common/cpu.c
+++ b/arch/arm/imx-common/cpu.c
@@ -138,7 +138,7 @@
 {
 	switch (imxtype) {
 	case MXC_CPU_MX7S:
-		return "7SOLO";	/* Single-core version of the mx7 */
+		return "7S";	/* Single-core version of the mx7 */
 	case MXC_CPU_MX7D:
 		return "7D";	/* Dual-core version of the mx7 */
 	case MXC_CPU_MX6QP:
diff --git a/arch/arm/include/asm/arch-ls102xa/config.h b/arch/arm/include/asm/arch-ls102xa/config.h
index 139a623..04abec4 100644
--- a/arch/arm/include/asm/arch-ls102xa/config.h
+++ b/arch/arm/include/asm/arch-ls102xa/config.h
@@ -83,7 +83,7 @@
 /* SATA */
 #define AHCI_BASE_ADDR				(CONFIG_SYS_IMMR + 0x02200000)
 #define CONFIG_BOARD_LATE_INIT
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #define CONFIG_LIBATA
 #define CONFIG_SCSI_AHCI
 #define CONFIG_SCSI_AHCI_PLAT
diff --git a/arch/arm/include/asm/arch-mx6/mx6sl_pins.h b/arch/arm/include/asm/arch-mx6/mx6sl_pins.h
index 6ba1034..919d83d 100644
--- a/arch/arm/include/asm/arch-mx6/mx6sl_pins.h
+++ b/arch/arm/include/asm/arch-mx6/mx6sl_pins.h
@@ -22,6 +22,7 @@
 	MX6_PAD_SD1_DAT3__USDHC1_DAT3				= IOMUX_PAD(0x0548, 0x0240, 0, 0x0000, 0, 0),
 	MX6_PAD_SD1_DAT4__USDHC1_DAT4				= IOMUX_PAD(0x054C, 0x0244, 0, 0x0000, 0, 0),
 	MX6_PAD_SD1_DAT5__USDHC1_DAT5				= IOMUX_PAD(0x0550, 0x0248, 0, 0x0000, 0, 0),
+	MX6_PAD_SD1_DAT5__GPIO_5_9				= IOMUX_PAD(0x0550, 0x0248, 5, 0x0000, 0, 0),
 	MX6_PAD_SD1_DAT6__USDHC1_DAT6				= IOMUX_PAD(0x0554, 0x024C, 0, 0x0000, 0, 0),
 	MX6_PAD_SD1_DAT7__USDHC1_DAT7				= IOMUX_PAD(0x0558, 0x0250, 0, 0x0000, 0, 0),
 	MX6_PAD_KEY_ROW7__GPIO_4_7					= IOMUX_PAD(0x04B0, 0x01A8, 5, 0x0000, 0, 0),
diff --git a/arch/arm/include/asm/arch-mx7/mx7d_pins.h b/arch/arm/include/asm/arch-mx7/mx7d_pins.h
index d8b4097..0ab1246 100644
--- a/arch/arm/include/asm/arch-mx7/mx7d_pins.h
+++ b/arch/arm/include/asm/arch-mx7/mx7d_pins.h
@@ -635,7 +635,7 @@
 	MX7D_PAD_LCD_DATA23__GPIO3_IO28                          = IOMUX_PAD(0x0394, 0x0124, 5, 0x0000, 0, 0),
 	MX7D_PAD_LCD_DATA23__I2C4_SDA                            = IOMUX_PAD(0x0394, 0x0124, IOMUX_CONFIG_SION | 6, 0x05F0, 1, 0),
 
-	MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX                     = IOMUX_PAD(0x0398, 0x0128, 0, 0x0000, 0, 0),
+	MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX                     = IOMUX_PAD(0x0398, 0x0128, 0, 0x06F4, 0, 0),
 
 	MX7D_PAD_UART1_RX_DATA__UART1_DTE_TX                     = IOMUX_PAD(0x0398, 0x0128, 0, 0x0000, 0, 0),
 	MX7D_PAD_UART1_RX_DATA__I2C1_SCL                         = IOMUX_PAD(0x0398, 0x0128, IOMUX_CONFIG_SION | 1, 0x0000, 0, 0),
@@ -655,7 +655,7 @@
 	MX7D_PAD_UART1_TX_DATA__GPIO4_IO1                        = IOMUX_PAD(0x039C, 0x012C, 5, 0x0000, 0, 0),
 	MX7D_PAD_UART1_TX_DATA__ENET1_MDC                        = IOMUX_PAD(0x039C, 0x012C, 6, 0x0000, 0, 0),
 
-	MX7D_PAD_UART2_RX_DATA__UART2_DCE_RX                     = IOMUX_PAD(0x03A0, 0x0130, 0, 0x0000, 0, 0),
+	MX7D_PAD_UART2_RX_DATA__UART2_DCE_RX                     = IOMUX_PAD(0x03A0, 0x0130, 0, 0x06FC, 2, 0),
 
 	MX7D_PAD_UART2_RX_DATA__UART2_DTE_TX                     = IOMUX_PAD(0x03A0, 0x0130, 0, 0x0000, 0, 0),
 	MX7D_PAD_UART2_RX_DATA__I2C2_SCL                         = IOMUX_PAD(0x03A0, 0x0130, IOMUX_CONFIG_SION | 1, 0x0000, 0, 0),
@@ -667,7 +667,7 @@
 
 	MX7D_PAD_UART2_TX_DATA__UART2_DCE_TX                     = IOMUX_PAD(0x03A4, 0x0134, 0, 0x0000, 0, 0),
 
-	MX7D_PAD_UART2_TX_DATA__UART2_DTE_RX                     = IOMUX_PAD(0x03A4, 0x0134, 0, 0x0000, 0, 0),
+	MX7D_PAD_UART2_TX_DATA__UART2_DTE_RX                     = IOMUX_PAD(0x03A4, 0x0134, 0, 0x06FC, 3, 0),
 	MX7D_PAD_UART2_TX_DATA__I2C2_SDA                         = IOMUX_PAD(0x03A4, 0x0134, IOMUX_CONFIG_SION | 1, 0x05E0, 0, 0),
 	MX7D_PAD_UART2_TX_DATA__SAI3_RX_DATA0                    = IOMUX_PAD(0x03A4, 0x0134, 2, 0x06C8, 0, 0),
 	MX7D_PAD_UART2_TX_DATA__ECSPI1_RDY                       = IOMUX_PAD(0x03A4, 0x0134, 3, 0x0000, 0, 0),
@@ -695,7 +695,7 @@
 	MX7D_PAD_UART3_TX_DATA__GPIO4_IO5                        = IOMUX_PAD(0x03AC, 0x013C, 5, 0x0000, 0, 0),
 	MX7D_PAD_UART3_TX_DATA__SD2_LCTL                         = IOMUX_PAD(0x03AC, 0x013C, 6, 0x0000, 0, 0),
 
-	MX7D_PAD_UART3_RTS_B__UART3_DCE_RTS                      = IOMUX_PAD(0x03B0, 0x0140, 0, 0x0000, 0, 0),
+	MX7D_PAD_UART3_RTS_B__UART3_DCE_RTS                      = IOMUX_PAD(0x03B0, 0x0140, 0, 0x0700, 2, 0),
 
 	MX7D_PAD_UART3_RTS_B__UART3_DTE_CTS                      = IOMUX_PAD(0x03B0, 0x0140, 0, 0x0000, 0, 0),
 	MX7D_PAD_UART3_RTS_B__USB_OTG2_OC                        = IOMUX_PAD(0x03B0, 0x0140, 1, 0x0000, 0, 0),
diff --git a/arch/arm/include/asm/arch-omap5/cpu.h b/arch/arm/include/asm/arch-omap5/cpu.h
index b1513e9..683d905 100644
--- a/arch/arm/include/asm/arch-omap5/cpu.h
+++ b/arch/arm/include/asm/arch-omap5/cpu.h
@@ -116,4 +116,16 @@
 #define CPSW_BASE			0x48484000
 #define CPSW_MDIO_BASE			0x48485000
 
+/* gmii_sel register defines */
+#define GMII1_SEL_MII		0x0
+#define GMII1_SEL_RMII		0x1
+#define GMII1_SEL_RGMII		0x2
+#define GMII2_SEL_MII		(GMII1_SEL_MII << 4)
+#define GMII2_SEL_RMII		(GMII1_SEL_RMII << 4)
+#define GMII2_SEL_RGMII		(GMII1_SEL_RGMII << 4)
+
+#define MII_MODE_ENABLE		(GMII1_SEL_MII | GMII2_SEL_MII)
+#define RMII_MODE_ENABLE        (GMII1_SEL_RMII | GMII2_SEL_RMII)
+#define RGMII_MODE_ENABLE	(GMII1_SEL_RGMII | GMII2_SEL_RGMII)
+
 #endif /* _CPU_H */
diff --git a/arch/arm/include/asm/arch-zynqmp/sys_proto.h b/arch/arm/include/asm/arch-zynqmp/sys_proto.h
index 021626d..1db2bd6 100644
--- a/arch/arm/include/asm/arch-zynqmp/sys_proto.h
+++ b/arch/arm/include/asm/arch-zynqmp/sys_proto.h
@@ -17,4 +17,6 @@
 
 unsigned int zynqmp_get_silicon_version(void);
 
+void psu_init(void);
+
 #endif /* _ASM_ARCH_SYS_PROTO_H */
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 9ce775e..73a9c74 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -71,6 +71,11 @@
 	select CPU_ARM926EJS
 	select SUPPORT_SPL
 
+config TARGET_SAMA5D2_PTC
+	bool "SAMA5D2 PTC board"
+	select CPU_V7
+	select SUPPORT_SPL
+
 config TARGET_SAMA5D2_XPLAINED
 	bool "SAMA5D2 Xplained board"
 	select CPU_V7
@@ -138,6 +143,7 @@
 source "board/atmel/at91sam9n12ek/Kconfig"
 source "board/atmel/at91sam9rlek/Kconfig"
 source "board/atmel/at91sam9x5ek/Kconfig"
+source "board/atmel/sama5d2_ptc/Kconfig"
 source "board/atmel/sama5d2_xplained/Kconfig"
 source "board/atmel/sama5d3_xplained/Kconfig"
 source "board/atmel/sama5d3xek/Kconfig"
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 4424523..d2abf31 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -9,7 +9,7 @@
 obj-$(CONFIG_AT91SAM9M10G45) += mpddrc.o spl_at91.o
 obj-$(CONFIG_AT91SAM9N12) += mpddrc.o spl_at91.o
 obj-$(CONFIG_AT91SAM9X5) += mpddrc.o spl_at91.o
-obj-$(CONFIG_SAMA5D2) += mpddrc.o spl_atmel.o matrix.o atmel_sfr.o
+obj-$(CONFIG_SAMA5D2) += bootparams_atmel.o mpddrc.o spl_atmel.o matrix.o atmel_sfr.o
 obj-$(CONFIG_SAMA5D3) += mpddrc.o spl_atmel.o
 obj-$(CONFIG_SAMA5D4) += mpddrc.o spl_atmel.o matrix.o atmel_sfr.o
 obj-y += spl.o
diff --git a/arch/arm/mach-at91/armv7/clock.c b/arch/arm/mach-at91/armv7/clock.c
index 81e9f69..76fcada 100644
--- a/arch/arm/mach-at91/armv7/clock.c
+++ b/arch/arm/mach-at91/armv7/clock.c
@@ -162,6 +162,11 @@
 	if (div > 0xff)
 		return -EINVAL;
 
+	if (clk_source == GCK_CSS_UPLL_CLK) {
+		if (at91_upll_clk_enable())
+			return -ENODEV;
+	}
+
 	writel(id, &pmc->pcr);
 	regval = readl(&pmc->pcr);
 	regval &= ~AT91_PMC_PCR_GCKCSS;
@@ -231,6 +236,12 @@
 	case AT91_PMC_PCR_GCKCSS_PLLA_CLK:
 		freq = gd->arch.plla_rate_hz;
 		break;
+	case AT91_PMC_PCR_GCKCSS_UPLL_CLK:
+		freq = AT91_UTMI_PLL_CLK_FREQ;
+		break;
+	case AT91_PMC_PCR_GCKCSS_MCK_CLK:
+		freq = gd->arch.mck_rate_hz;
+		break;
 	default:
 		printf("Improper GCK clock source selection!\n");
 		freq = 0;
diff --git a/arch/arm/mach-at91/bootparams_atmel.S b/arch/arm/mach-at91/bootparams_atmel.S
new file mode 100644
index 0000000..568094b
--- /dev/null
+++ b/arch/arm/mach-at91/bootparams_atmel.S
@@ -0,0 +1,18 @@
+/*
+ * Atmel SAMA5Dx boot parameter handling
+ *
+ * Copyright (c) 2016 Marek Vasut <marex@denx.de>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <asm-offsets.h>
+#include <config.h>
+#include <asm/system.h>
+#include <linux/linkage.h>
+
+ENTRY(save_boot_params)
+	ldr	r0, =bootrom_stash
+	str	r4, [r0, #0]
+	b	save_boot_params_ret
+ENDPROC(save_boot_params)
diff --git a/arch/arm/mach-at91/include/mach/clk.h b/arch/arm/mach-at91/include/mach/clk.h
index 8577c74..ca7d7d0 100644
--- a/arch/arm/mach-at91/include/mach/clk.h
+++ b/arch/arm/mach-at91/include/mach/clk.h
@@ -20,6 +20,8 @@
 #define GCK_CSS_MCK_CLK		4
 #define GCK_CSS_AUDIO_CLK	5
 
+#define AT91_UTMI_PLL_CLK_FREQ	480000000
+
 static inline unsigned long get_cpu_clk_rate(void)
 {
 	DECLARE_GLOBAL_DATA_PTR;
diff --git a/arch/arm/mach-at91/include/mach/sama5_sfr.h b/arch/arm/mach-at91/include/mach/sama5_sfr.h
index b040256..b805a2c 100644
--- a/arch/arm/mach-at91/include/mach/sama5_sfr.h
+++ b/arch/arm/mach-at91/include/mach/sama5_sfr.h
@@ -32,6 +32,30 @@
 #define ATMEL_SFR_DDRCFG_FDQIEN		0x00010000
 #define ATMEL_SFR_DDRCFG_FDQSIEN	0x00020000
 
+/* Bit field in EBICFG */
+#define AT91_SFR_EBICFG_DRIVE0		(0x3 << 0)
+#define AT91_SFR_EBICFG_DRIVE0_LOW		(0x0 << 0)
+#define AT91_SFR_EBICFG_DRIVE0_MEDIUM		(0x2 << 0)
+#define AT91_SFR_EBICFG_DRIVE0_HIGH		(0x3 << 0)
+#define AT91_SFR_EBICFG_PULL0		(0x3 << 2)
+#define AT91_SFR_EBICFG_PULL0_UP		(0x0 << 2)
+#define AT91_SFR_EBICFG_PULL0_NONE		(0x1 << 2)
+#define AT91_SFR_EBICFG_PULL0_DOWN		(0x3 << 2)
+#define AT91_SFR_EBICFG_SCH0		(0x1 << 4)
+#define AT91_SFR_EBICFG_SCH0_OFF		(0x0 << 4)
+#define AT91_SFR_EBICFG_SCH0_ON			(0x1 << 4)
+#define AT91_SFR_EBICFG_DRIVE1		(0x3 << 8)
+#define AT91_SFR_EBICFG_DRIVE1_LOW		(0x0 << 8)
+#define AT91_SFR_EBICFG_DRIVE1_MEDIUM		(0x2 << 8)
+#define AT91_SFR_EBICFG_DRIVE1_HIGH		(0x3 << 8)
+#define AT91_SFR_EBICFG_PULL1		(0x3 << 10)
+#define AT91_SFR_EBICFG_PULL1_UP		(0x0 << 10)
+#define AT91_SFR_EBICFG_PULL1_NONE		(0x1 << 10)
+#define AT91_SFR_EBICFG_PULL1_DOWN		(0x3 << 10)
+#define AT91_SFR_EBICFG_SCH1		(0x1 << 12)
+#define AT91_SFR_EBICFG_SCH1_OFF		(0x0 << 12)
+#define AT91_SFR_EBICFG_SCH1_ON			(0x1 << 12)
+
 /* Bit field in AICREDIR */
 #define ATMEL_SFR_AICREDIR_NSAIC	0x00000001
 
diff --git a/arch/arm/mach-at91/include/mach/sama5d2.h b/arch/arm/mach-at91/include/mach/sama5d2.h
index dd5a2a7..ee841da 100644
--- a/arch/arm/mach-at91/include/mach/sama5d2.h
+++ b/arch/arm/mach-at91/include/mach/sama5d2.h
@@ -135,7 +135,11 @@
 /*
  * Address Memory Space
  */
+#define ATMEL_BASE_CS0			0x10000000
 #define ATMEL_BASE_DDRCS		0x20000000
+#define ATMEL_BASE_CS1			0x60000000
+#define ATMEL_BASE_CS2			0x70000000
+#define ATMEL_BASE_CS3			0x80000000
 #define ATMEL_BASE_QSPI0_AES_MEM	0x90000000
 #define ATMEL_BASE_QSPI1_AES_MEM	0x98000000
 #define ATMEL_BASE_SDMMC0		0xa0000000
@@ -165,6 +169,7 @@
  */
 #define ATMEL_BASE_PMECC	(ATMEL_BASE_HSMC + 0x70)
 #define ATMEL_BASE_PMERRLOC	(ATMEL_BASE_HSMC + 0x500)
+#define ATMEL_BASE_SMC		(ATMEL_BASE_HSMC + 0x700)
 
 #define ATMEL_BASE_PIOB		(ATMEL_BASE_PIOA + 0x40)
 #define ATMEL_BASE_PIOC		(ATMEL_BASE_PIOB + 0x40)
@@ -225,6 +230,18 @@
 /* No PMECC Galois table in ROM */
 #define NO_GALOIS_TABLE_IN_ROM
 
+/* Boot modes stored by BootROM in r4 */
+#define ATMEL_SAMA5D2_BOOT_FROM_OFF	0
+#define ATMEL_SAMA5D2_BOOT_FROM_MASK	0xf
+#define ATMEL_SAMA5D2_BOOT_FROM_SPI	(0 << 0)
+#define ATMEL_SAMA5D2_BOOT_FROM_MCI	(1 << 0)
+#define ATMEL_SAMA5D2_BOOT_FROM_SMC	(2 << 0)
+#define ATMEL_SAMA5D2_BOOT_FROM_TWI	(3 << 0)
+#define ATMEL_SAMA5D2_BOOT_FROM_QSPI	(4 << 0)
+
+#define ATMEL_SAMA5D2_BOOT_DEV_ID_OFF	4
+#define ATMEL_SAMA5D2_BOOT_DEV_ID_MASK	0xf
+
 #ifndef __ASSEMBLY__
 unsigned int get_chip_id(void);
 unsigned int get_extension_chip_id(void);
diff --git a/arch/arm/mach-at91/spl.c b/arch/arm/mach-at91/spl.c
index 27a405a..c4ed224 100644
--- a/arch/arm/mach-at91/spl.c
+++ b/arch/arm/mach-at91/spl.c
@@ -23,6 +23,40 @@
 }
 #endif
 
+#if defined(CONFIG_SAMA5D2)
+struct {
+	u32	r4;
+} bootrom_stash __attribute__((section(".data")));
+
+u32 spl_boot_device(void)
+{
+	u32 dev = (bootrom_stash.r4 >> ATMEL_SAMA5D2_BOOT_FROM_OFF) &
+		  ATMEL_SAMA5D2_BOOT_FROM_MASK;
+	u32 off = (bootrom_stash.r4 >> ATMEL_SAMA5D2_BOOT_DEV_ID_OFF) &
+		  ATMEL_SAMA5D2_BOOT_DEV_ID_MASK;
+
+#if defined(CONFIG_SYS_USE_MMC)
+	if (dev == ATMEL_SAMA5D2_BOOT_FROM_MCI) {
+		if (off == 0)
+			return BOOT_DEVICE_MMC1;
+		if (off == 1)
+			return BOOT_DEVICE_MMC2;
+		printf("ERROR: MMC controller %i not present!\n", dev);
+		hang();
+	}
+#endif
+
+#if defined(CONFIG_SYS_USE_SERIALFLASH) || defined(CONFIG_SYS_USE_SPIFLASH)
+	if (dev == ATMEL_SAMA5D2_BOOT_FROM_SPI)
+		return BOOT_DEVICE_SPI;
+#endif
+
+	printf("ERROR: SMC/TWI/QSPI boot device not supported!\n"
+	       "       Boot device %i, controller number %i\n", dev, off);
+
+	return BOOT_DEVICE_NONE;
+}
+#else
 u32 spl_boot_device(void)
 {
 #ifdef CONFIG_SYS_USE_MMC
@@ -34,12 +68,14 @@
 #endif
 	return BOOT_DEVICE_NONE;
 }
+#endif
 
 u32 spl_boot_mode(void)
 {
 	switch (spl_boot_device()) {
 #ifdef CONFIG_SYS_USE_MMC
 	case BOOT_DEVICE_MMC1:
+	case BOOT_DEVICE_MMC2:
 		return MMCSD_MODE_FS;
 		break;
 #endif
diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig
index d396a13..db3c579 100644
--- a/arch/arm/mach-zynq/Kconfig
+++ b/arch/arm/mach-zynq/Kconfig
@@ -1,41 +1,5 @@
 if ARCH_ZYNQ
 
-config ZYNQ_CUSTOM_INIT
-	bool "Use custom ps7_init provided by Xilinx tool"
-	help
-	  U-Boot includes ps7_init_gpl.[ch] for some Zynq board variants.
-	  If you want to override them with customized ones
-	  or ps7_init code for your board is missing, please say Y here
-	  and add ones into board/xilinx/zynq/custom_hw_platform/ directory.
-
-choice
-	prompt "Xilinx Zynq board select"
-	default TARGET_ZYNQ_ZC702
-
-config TARGET_ZYNQ_ZED
-	bool "Zynq ZedBoard"
-
-config TARGET_ZYNQ_MICROZED
-	bool "Zynq MicroZed"
-
-config TARGET_ZYNQ_PICOZED
-	bool "Zynq PicoZed"
-
-config TARGET_ZYNQ_ZC702
-	bool "Zynq ZC702 Board"
-
-config TARGET_ZYNQ_ZC706
-	bool "Zynq ZC706 Board"
-
-config TARGET_ZYNQ_ZC770
-	bool "Zynq ZC770 Board"
-	select ZYNQ_CUSTOM_INIT
-
-config TARGET_ZYNQ_ZYBO
-	bool "Zynq Zybo Board"
-
-endchoice
-
 config SYS_BOARD
 	default "zynq"
 
@@ -46,11 +10,11 @@
 	default "zynq"
 
 config SYS_CONFIG_NAME
-	default "zynq_zed" if TARGET_ZYNQ_ZED
-	default "zynq_microzed" if TARGET_ZYNQ_MICROZED
-	default "zynq_picozed" if TARGET_ZYNQ_PICOZED
-	default "zynq_zc70x" if TARGET_ZYNQ_ZC702 || TARGET_ZYNQ_ZC706
-	default "zynq_zc770" if TARGET_ZYNQ_ZC770
-	default "zynq_zybo" if TARGET_ZYNQ_ZYBO
+	string "Board configuration name"
+	default "zynq-common"
+	help
+	  This option contains information about board configuration name.
+	  Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header
+	  will be used for board configuration.
 
 endif
diff --git a/arch/arm/mach-zynq/spl.c b/arch/arm/mach-zynq/spl.c
index 723019d..6c5415a 100644
--- a/arch/arm/mach-zynq/spl.c
+++ b/arch/arm/mach-zynq/spl.c
@@ -90,3 +90,28 @@
 	 * board/xilinx/zynq/(platform)/ps7_init_gpl.c, if it exists.
 	 */
 }
+
+__weak int ps7_post_config(void)
+{
+	/*
+	 * This function is overridden by the one in
+	 * board/xilinx/zynq/(platform)/ps7_init_gpl.c, if it exists.
+	 */
+	return 0;
+}
+
+void spl_board_prepare_for_boot(void)
+{
+	ps7_post_config();
+	debug("SPL bye\n");
+}
+
+#ifdef CONFIG_SPL_LOAD_FIT
+int board_fit_config_name_match(const char *name)
+{
+	/* Just empty function now - can't decide what to choose */
+	debug("%s: %s\n", __func__, name);
+
+	return 0;
+}
+#endif
diff --git a/arch/m68k/cpu/mcf5227x/start.S b/arch/m68k/cpu/mcf5227x/start.S
index 23024f9..13c036f 100644
--- a/arch/m68k/cpu/mcf5227x/start.S
+++ b/arch/m68k/cpu/mcf5227x/start.S
@@ -372,14 +372,29 @@
 	move.l %d0, (%a1)
 	move.l %d0, (%a2)
 
-	/* set stackpointer to end of internal ram to get some stackspace for
-	   the first c-code */
-	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET), %sp
-	clr.l %sp@-
+	/* put relocation table address to a5 */
+	move.l #__got_start, %a5
 
-	move.l #__got_start, %a5	/* put relocation table address to a5 */
+	/* setup stack initially on top of internal static ram  */
+	move.l  #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/*
+	 * if configured, malloc_f arena will be reserved first,
+	 * then (and always) gd struct space will be reserved
+	 */
+	move.l	%sp, -(%sp)
+	bsr	board_init_f_alloc_reserve
+
+	/* update stack and frame-pointers */
+	move.l  %d0, %sp
+	move.l  %sp, %fp
+
+	/* initialize reserved area */
+	move.l  %d0, -(%sp)
+	bsr     board_init_f_init_reserve
 
 	bsr cpu_init_f			/* run low-level CPU init code (from flash) */
+	clr.l   %sp@-
 	bsr board_init_f		/* run low-level board init code (from flash) */
 
 	/* board_init_f() does not return */
diff --git a/arch/m68k/cpu/mcf523x/start.S b/arch/m68k/cpu/mcf523x/start.S
index 1702f98..3aa4dd6 100644
--- a/arch/m68k/cpu/mcf523x/start.S
+++ b/arch/m68k/cpu/mcf523x/start.S
@@ -134,17 +134,34 @@
 	move.l %d0, (%a1)
 	move.l %d0, (%a2)
 
-	/* set stackpointer to end of internal ram to get some stackspace for the
-	   first c-code */
-	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET), %sp
-	clr.l %sp@-
+	/* put relocation table address to a5 */
+	move.l #__got_start, %a5
 
-	move.l #__got_start, %a5	/* put relocation table address to a5 */
+	/* setup stack initially on top of internal static ram  */
+	move.l  #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/*
+	 * if configured, malloc_f arena will be reserved first,
+	 * then (and always) gd struct space will be reserved
+	 */
+	move.l	%sp, -(%sp)
+	move.l	#board_init_f_alloc_reserve, %a1
+	jsr	(%a1)
+
+	/* update stack and frame-pointers */
+	move.l  %d0, %sp
+	move.l  %sp, %fp
+
+	/* initialize reserved area */
+	move.l  %d0, -(%sp)
+	move.l	#board_init_f_init_reserve, %a1
+	jsr	(%a1)
 
 	/* run low-level CPU init code (from flash) */
 	move.l #cpu_init_f, %a1
 	jsr (%a1)
 	/* run low-level board init code (from flash) */
+	clr.l   %sp@-
 	move.l #board_init_f, %a1
 	jsr (%a1)
 
diff --git a/arch/m68k/cpu/mcf52x2/start.S b/arch/m68k/cpu/mcf52x2/start.S
index 4af691f..a048884 100644
--- a/arch/m68k/cpu/mcf52x2/start.S
+++ b/arch/m68k/cpu/mcf52x2/start.S
@@ -192,16 +192,34 @@
 	move.l %d0, (%a1)
 	move.l %d0, (%a2)
 
-	/* set stackpointer to end of internal ram to get some stackspace for the first c-code */
-	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET), %sp
-	clr.l %sp@-
+	/* put relocation table address to a5 */
+	move.l #__got_start, %a5
 
-	move.l #__got_start, %a5		/* put relocation table address to a5 */
+	/* setup stack initially on top of internal static ram  */
+	move.l  #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/*
+	 * if configured, malloc_f arena will be reserved first,
+	 * then (and always) gd struct space will be reserved
+	 */
+	move.l	%sp, -(%sp)
+	move.l	#board_init_f_alloc_reserve, %a1
+	jsr (%a1)
+
+	/* update stack and frame-pointers */
+	move.l  %d0, %sp
+	move.l  %sp, %fp
+
+	/* initialize reserved area */
+	move.l  %d0, -(%sp)
+	move.l	#board_init_f_init_reserve, %a1
+	jsr (%a1)
 
 	/* run low-level CPU init code (from flash) */
 	move.l #cpu_init_f, %a1
 	jsr (%a1)
 	/* run low-level board init code (from flash) */
+	clr.l   %sp@-
 	move.l #board_init_f, %a1
 	jsr (%a1)
 
diff --git a/arch/m68k/cpu/mcf530x/cpu_init.c b/arch/m68k/cpu/mcf530x/cpu_init.c
index 80dc239..b09eed8 100644
--- a/arch/m68k/cpu/mcf530x/cpu_init.c
+++ b/arch/m68k/cpu/mcf530x/cpu_init.c
@@ -142,7 +142,7 @@
 	return 0;
 }
 
-void uart_port_conf(void)
+void uart_port_conf(int port)
 {
 }
 
diff --git a/arch/m68k/cpu/mcf530x/start.S b/arch/m68k/cpu/mcf530x/start.S
index 097958a..ca8bb32 100644
--- a/arch/m68k/cpu/mcf530x/start.S
+++ b/arch/m68k/cpu/mcf530x/start.S
@@ -126,21 +126,32 @@
 	move.l	%d0, (%a1)
 	move.l	%d0, (%a2)
 
-	/*
-	 * set stackpointer to internal sram end - 80
-	 * (global data struct size + some bytes)
-	 * get some stackspace for the first c-code,
-	 */
-	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET), %sp
-	clr.l   %sp@-
-
 	/* put relocation table address to a5 */
 	move.l #__got_start, %a5
 
+	/* setup stack initially on top of internal static ram  */
+	move.l  #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/*
+	 * if configured, malloc_f arena will be reserved first,
+	 * then (and always) gd struct space will be reserved
+	 */
+	move.l	%sp, -(%sp)
+	bsr	board_init_f_alloc_reserve
+
+	/* update stack and frame-pointers */
+	move.l  %d0, %sp
+	move.l  %sp, %fp
+
+	/* initialize reserved area */
+	move.l  %d0, -(%sp)
+	bsr     board_init_f_init_reserve
+
 	/* run low-level CPU init code (from flash) */
 	bsr cpu_init_f
 
 	/* run low-level board init code (from flash) */
+	clr.l   %sp@-
 	bsr board_init_f
 
 	/* board_init_f() does not return */
diff --git a/arch/m68k/cpu/mcf532x/start.S b/arch/m68k/cpu/mcf532x/start.S
index 131ad6e..f25bc54 100644
--- a/arch/m68k/cpu/mcf532x/start.S
+++ b/arch/m68k/cpu/mcf532x/start.S
@@ -148,17 +148,34 @@
 	move.l %d0, (%a1)
 	move.l %d0, (%a2)
 
-	/* set stackpointer to end of internal ram to get some stackspace for the
-	   first c-code */
-	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET), %sp
-	clr.l %sp@-
+	/* put relocation table address to a5 */
+	move.l #__got_start, %a5
 
-	move.l #__got_start, %a5	/* put relocation table address to a5 */
+	/* setup stack initially on top of internal static ram  */
+	move.l  #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/*
+	 * if configured, malloc_f arena will be reserved first,
+	 * then (and always) gd struct space will be reserved
+	 */
+	move.l	%sp, -(%sp)
+	move.l	#board_init_f_alloc_reserve, %a1
+	jsr	(%a1)
+
+	/* update stack and frame-pointers */
+	move.l  %d0, %sp
+	move.l  %sp, %fp
+
+	/* initialize reserved area */
+	move.l  %d0, -(%sp)
+	move.l	#board_init_f_init_reserve, %a1
+	jsr	(%a1)
 
 	/* run low-level CPU init code (from flash) */
 	move.l #cpu_init_f, %a1
 	jsr (%a1)
 	/* run low-level board init code (from flash) */
+	clr.l   %sp@-
 	move.l #board_init_f, %a1
 	jsr (%a1)
 
diff --git a/arch/m68k/cpu/mcf5445x/start.S b/arch/m68k/cpu/mcf5445x/start.S
index f50f147..ba38678 100644
--- a/arch/m68k/cpu/mcf5445x/start.S
+++ b/arch/m68k/cpu/mcf5445x/start.S
@@ -657,17 +657,34 @@
 	movec	%d0, %RAMBAR1
 #endif
 
-	/* set stackpointer to end of internal ram to get some stackspace for
-	   the first c-code */
-	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET), %sp
-	clr.l %sp@-
+	/* put relocation table address to a5 */
+	move.l #__got_start, %a5
 
-	move.l #__got_start, %a5	/* put relocation table address to a5 */
+	/* setup stack initially on top of internal static ram  */
+	move.l  #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/*
+	 * if configured, malloc_f arena will be reserved first,
+	 * then (and always) gd struct space will be reserved
+	 */
+	move.l	%sp, -(%sp)
+	move.l	#board_init_f_alloc_reserve, %a1
+	jsr	(%a1)
+
+	/* update stack and frame-pointers */
+	move.l  %d0, %sp
+	move.l  %sp, %fp
+
+	/* initialize reserved area */
+	move.l  %d0, -(%sp)
+	move.l	#board_init_f_init_reserve, %a1
+	jsr	(%a1)
 
 	/* run low-level CPU init code (from flash) */
 	move.l #cpu_init_f, %a1
 	jsr (%a1)
 	/* run low-level board init code (from flash) */
+	clr.l   %sp@-
 	move.l #board_init_f, %a1
 	jsr (%a1)
 
diff --git a/arch/m68k/cpu/mcf547x_8x/start.S b/arch/m68k/cpu/mcf547x_8x/start.S
index 75de22d..9a87a0d 100644
--- a/arch/m68k/cpu/mcf547x_8x/start.S
+++ b/arch/m68k/cpu/mcf547x_8x/start.S
@@ -141,14 +141,29 @@
 	move.l %d0, (%a1)
 	move.l %d0, (%a2)
 
-	/* set stackpointer to end of internal ram to get some stackspace for the
-	   first c-code */
-	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET), %sp
-	clr.l %sp@-
+	/* put relocation table address to a5 */
+	move.l #__got_start, %a5
 
-	move.l #__got_start, %a5	/* put relocation table address to a5 */
+	/* setup stack initially on top of internal static ram  */
+	move.l  #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/*
+	 * if configured, malloc_f arena will be reserved first,
+	 * then (and always) gd struct space will be reserved
+	 */
+	move.l	%sp, -(%sp)
+	bsr	board_init_f_alloc_reserve
+
+	/* update stack and frame-pointers */
+	move.l  %d0, %sp
+	move.l  %sp, %fp
+
+	/* initialize reserved area */
+	move.l  %d0, -(%sp)
+	bsr     board_init_f_init_reserve
 
 	jbsr cpu_init_f			/* run low-level CPU init code (from flash) */
+	clr.l   %sp@-
 	jbsr board_init_f		/* run low-level board init code (from flash) */
 
 	/* board_init_f() does not return */
diff --git a/arch/m68k/include/asm/config.h b/arch/m68k/include/asm/config.h
index e1458ac..9c4d3fb 100644
--- a/arch/m68k/include/asm/config.h
+++ b/arch/m68k/include/asm/config.h
@@ -7,8 +7,6 @@
 #ifndef _ASM_CONFIG_H_
 #define _ASM_CONFIG_H_
 
-#define CONFIG_SYS_GENERIC_GLOBAL_DATA
-
 #define CONFIG_NEEDS_MANUAL_RELOC
 
 #define CONFIG_LMB
diff --git a/arch/m68k/include/asm/fsl_i2c.h b/arch/m68k/include/asm/fsl_i2c.h
index 1b1c25e..c7d2aa3 100644
--- a/arch/m68k/include/asm/fsl_i2c.h
+++ b/arch/m68k/include/asm/fsl_i2c.h
@@ -16,7 +16,7 @@
 
 #include <asm/types.h>
 
-typedef struct fsl_i2c {
+typedef struct fsl_i2c_base {
 
 	u8 adr;		/* I2C slave address */
 	u8 res0[3];
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index fe37d1f..dc34c18 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -5,8 +5,8 @@
 	default "mips"
 
 config SYS_CPU
-	default "mips32" if CPU_MIPS32_R1 || CPU_MIPS32_R2
-	default "mips64" if CPU_MIPS64_R1 || CPU_MIPS64_R2
+	default "mips32" if CPU_MIPS32
+	default "mips64" if CPU_MIPS64
 
 choice
 	prompt "Target select"
@@ -28,6 +28,7 @@
 	select SUPPORTS_LITTLE_ENDIAN
 	select SUPPORTS_CPU_MIPS32_R1
 	select SUPPORTS_CPU_MIPS32_R2
+	select SUPPORTS_CPU_MIPS32_R6
 	select SWAP_IO_SPACE
 	select MIPS_L1_CACHE_SHIFT_6
 
@@ -55,6 +56,11 @@
 	select SYS_MIPS_CACHE_INIT_RAM_LOAD
 	select MIPS_TUNE_4KC
 
+config ARCH_ATH79
+	bool "Support QCA/Atheros ath79"
+	select OF_CONTROL
+	select DM
+
 config MACH_PIC32
 	bool "Support Microchip PIC32"
 	select OF_CONTROL
@@ -67,6 +73,7 @@
 source "board/micronas/vct/Kconfig"
 source "board/pb1x00/Kconfig"
 source "board/qemu-mips/Kconfig"
+source "arch/mips/mach-ath79/Kconfig"
 source "arch/mips/mach-pic32/Kconfig"
 
 if MIPS
@@ -98,7 +105,7 @@
 	depends on SUPPORTS_CPU_MIPS32_R1
 	select 32BIT
 	help
-	  Choose this option to build an U-Boot for release 1 or later of the
+	  Choose this option to build an U-Boot for release 1 through 5 of the
 	  MIPS32 architecture.
 
 config CPU_MIPS32_R2
@@ -106,7 +113,15 @@
 	depends on SUPPORTS_CPU_MIPS32_R2
 	select 32BIT
 	help
-	  Choose this option to build an U-Boot for release 2 or later of the
+	  Choose this option to build an U-Boot for release 2 through 5 of the
+	  MIPS32 architecture.
+
+config CPU_MIPS32_R6
+	bool "MIPS32 Release 6"
+	depends on SUPPORTS_CPU_MIPS32_R6
+	select 32BIT
+	help
+	  Choose this option to build an U-Boot for release 6 or later of the
 	  MIPS32 architecture.
 
 config CPU_MIPS64_R1
@@ -114,7 +129,7 @@
 	depends on SUPPORTS_CPU_MIPS64_R1
 	select 64BIT
 	help
-	  Choose this option to build a kernel for release 1 or later of the
+	  Choose this option to build a kernel for release 1 through 5 of the
 	  MIPS64 architecture.
 
 config CPU_MIPS64_R2
@@ -122,7 +137,15 @@
 	depends on SUPPORTS_CPU_MIPS64_R2
 	select 64BIT
 	help
-	  Choose this option to build a kernel for release 2 or later of the
+	  Choose this option to build a kernel for release 2 through 5 of the
+	  MIPS64 architecture.
+
+config CPU_MIPS64_R6
+	bool "MIPS64 Release 6"
+	depends on SUPPORTS_CPU_MIPS64_R6
+	select 64BIT
+	help
+	  Choose this option to build a kernel for release 6 or later of the
 	  MIPS64 architecture.
 
 endchoice
@@ -169,19 +192,25 @@
 config SUPPORTS_CPU_MIPS32_R2
 	bool
 
+config SUPPORTS_CPU_MIPS32_R6
+	bool
+
 config SUPPORTS_CPU_MIPS64_R1
 	bool
 
 config SUPPORTS_CPU_MIPS64_R2
 	bool
 
+config SUPPORTS_CPU_MIPS64_R6
+	bool
+
 config CPU_MIPS32
 	bool
-	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
+	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
 
 config CPU_MIPS64
 	bool
-	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
+	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
 
 config MIPS_TUNE_4KC
 	bool
@@ -192,6 +221,9 @@
 config MIPS_TUNE_24KC
 	bool
 
+config MIPS_TUNE_74KC
+	bool
+
 config 32BIT
 	bool
 
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index aec5a15..655a493 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -8,6 +8,7 @@
 libs-y += arch/mips/lib/
 
 machine-$(CONFIG_SOC_AU1X00) += au1x00
+machine-$(CONFIG_ARCH_ATH79) += ath79
 machine-$(CONFIG_MACH_PIC32) += pic32
 
 machdirs := $(patsubst %,arch/mips/mach-%/,$(machine-y))
@@ -18,13 +19,16 @@
 # Optimize for MIPS architectures
 arch-$(CONFIG_CPU_MIPS32_R1) += -march=mips32 -Wa,-mips32
 arch-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -Wa,-mips32r2
+arch-$(CONFIG_CPU_MIPS32_R6) += -march=mips32r6 -Wa,-mips32r6
 arch-$(CONFIG_CPU_MIPS64_R1) += -march=mips64 -Wa,-mips64
 arch-$(CONFIG_CPU_MIPS64_R2) += -march=mips64r2 -Wa,-mips64r2
+arch-$(CONFIG_CPU_MIPS64_R6) += -march=mips64r6 -Wa,-mips64r6
 
 # Allow extra optimization for specific CPUs/SoCs
 tune-$(CONFIG_MIPS_TUNE_4KC) += -mtune=4kc
 tune-$(CONFIG_MIPS_TUNE_14KC) += -mtune=14kc
 tune-$(CONFIG_MIPS_TUNE_24KC) += -mtune=24kc
+tune-$(CONFIG_MIPS_TUNE_74KC) += -mtune=74kc
 
 # Include default header files
 cflags-y += -I$(srctree)/arch/mips/include/asm/mach-generic
diff --git a/arch/mips/cpu/cpu.c b/arch/mips/cpu/cpu.c
index 8d3b2f5..391feb3 100644
--- a/arch/mips/cpu/cpu.c
+++ b/arch/mips/cpu/cpu.c
@@ -7,7 +7,6 @@
 
 #include <common.h>
 #include <command.h>
-#include <netdev.h>
 #include <linux/compiler.h>
 #include <asm/mipsregs.h>
 #include <asm/reboot.h>
diff --git a/arch/mips/cpu/start.S b/arch/mips/cpu/start.S
index 1b56ca3..fc6dd66 100644
--- a/arch/mips/cpu/start.S
+++ b/arch/mips/cpu/start.S
@@ -164,12 +164,14 @@
 	li	t0, -16
 	PTR_LI	t1, CONFIG_SYS_INIT_SP_ADDR
 	and	sp, t1, t0		# force 16 byte alignment
-	PTR_SUB	sp, sp, GD_SIZE		# reserve space for gd
+	PTR_SUBU \
+		sp, sp, GD_SIZE		# reserve space for gd
 	and	sp, sp, t0		# force 16 byte alignment
 	move	k0, sp			# save gd pointer
 #ifdef CONFIG_SYS_MALLOC_F_LEN
 	li	t2, CONFIG_SYS_MALLOC_F_LEN
-	PTR_SUB	sp, sp, t2		# reserve space for early malloc
+	PTR_SUBU \
+		sp, sp, t2		# reserve space for early malloc
 	and	sp, sp, t0		# force 16 byte alignment
 #endif
 	move	fp, sp
@@ -179,7 +181,7 @@
 1:
 	PTR_S	zero, 0(t0)
 	blt	t0, t1, 1b
-	 PTR_ADDI t0, PTRSIZE
+	 PTR_ADDIU t0, PTRSIZE
 
 #ifdef CONFIG_SYS_MALLOC_F_LEN
 	PTR_S	sp, GD_MALLOC_BASE(k0)	# gd->malloc_base offset
@@ -237,7 +239,7 @@
 	 move	a0, s2			# a0 <-- destination address
 
 	/* Jump to where we've relocated ourselves */
-	PTR_ADDI t0, s2, in_ram - _start
+	PTR_ADDIU t0, s2, in_ram - _start
 	jr	t0
 	 nop
 
@@ -257,7 +259,7 @@
 	PTR_L	t3, -(1 * PTRSIZE)(t0)	# t3 <-- num_got_entries
 	PTR_L	t8, -(2 * PTRSIZE)(t0)	# t8 <-- _GLOBAL_OFFSET_TABLE_
 	PTR_ADD	t8, s1			# t8 now holds relocated _G_O_T_
-	PTR_ADDI t8, t8, 2 * PTRSIZE	# skipping first two entries
+	PTR_ADDIU t8, t8, 2 * PTRSIZE	# skipping first two entries
 	PTR_LI	t2, 2
 1:
 	PTR_L	t1, 0(t8)
@@ -265,16 +267,16 @@
 	 PTR_ADD t1, s1
 	PTR_S	t1, 0(t8)
 2:
-	PTR_ADDI t2, 1
+	PTR_ADDIU t2, 1
 	blt	t2, t3, 1b
-	 PTR_ADDI t8, PTRSIZE
+	 PTR_ADDIU t8, PTRSIZE
 
 	/* Update dynamic relocations */
 	PTR_L	t1, -(4 * PTRSIZE)(t0)	# t1 <-- __rel_dyn_start
 	PTR_L	t2, -(5 * PTRSIZE)(t0)	# t2 <-- __rel_dyn_end
 
 	b	2f			# skip first reserved entry
-	 PTR_ADDI t1, 2 * PTRSIZE
+	 PTR_ADDIU t1, 2 * PTRSIZE
 
 1:
 	lw	t8, -4(t1)		# t8 <-- relocation info
@@ -293,7 +295,7 @@
 
 2:
 	blt	t1, t2, 1b
-	 PTR_ADDI t1, 2 * PTRSIZE	# each rel.dyn entry is 2*PTRSIZE bytes
+	 PTR_ADDIU t1, 2 * PTRSIZE	# each rel.dyn entry is 2*PTRSIZE bytes
 
 	/*
 	 * Clear BSS
@@ -307,7 +309,7 @@
 1:
 	PTR_S	zero, 0(t1)
 	blt	t1, t2, 1b
-	 PTR_ADDI t1, PTRSIZE
+	 PTR_ADDIU t1, PTRSIZE
 
 	move	a0, s0			# a0 <-- gd
 	move	a1, s2
diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile
index b513918..a94b745 100644
--- a/arch/mips/dts/Makefile
+++ b/arch/mips/dts/Makefile
@@ -2,7 +2,10 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
+dtb-$(CONFIG_TARGET_AP121) += ap121.dtb
+dtb-$(CONFIG_TARGET_AP143) += ap143.dtb
 dtb-$(CONFIG_TARGET_PIC32MZDASK) += pic32mzda_sk.dtb
+dtb-$(CONFIG_BOARD_TPLINK_WDR4300) += tplink_wdr4300.dtb
 
 targets += $(dtb-y)
 
diff --git a/arch/mips/dts/ap121.dts b/arch/mips/dts/ap121.dts
new file mode 100644
index 0000000..e31f601
--- /dev/null
+++ b/arch/mips/dts/ap121.dts
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+/dts-v1/;
+#include "ar933x.dtsi"
+
+/ {
+	model = "AP121 Reference Board";
+	compatible = "qca,ap121", "qca,ar933x";
+
+	aliases {
+		spi0 = &spi0;
+		serial0 = &uart0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&xtal {
+	clock-frequency = <25000000>;
+};
+
+&uart0 {
+	status = "okay";
+};
+
+&spi0 {
+	spi-max-frequency = <25000000>;
+	status = "okay";
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "spi-flash";
+		memory-map = <0x9f000000 0x00800000>;
+		spi-max-frequency = <25000000>;
+		reg = <0>;
+	};
+};
diff --git a/arch/mips/dts/ap143.dts b/arch/mips/dts/ap143.dts
new file mode 100644
index 0000000..f53207e
--- /dev/null
+++ b/arch/mips/dts/ap143.dts
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+/dts-v1/;
+#include "qca953x.dtsi"
+
+/ {
+	model = "AP143 Reference Board";
+	compatible = "qca,ap143", "qca,qca953x";
+
+	aliases {
+		spi0 = &spi0;
+		serial0 = &uart0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&xtal {
+	clock-frequency = <25000000>;
+};
+
+&uart0 {
+	status = "okay";
+};
+
+&spi0 {
+	spi-max-frequency = <25000000>;
+	status = "okay";
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "spi-flash";
+		memory-map = <0x9f000000 0x00800000>;
+		spi-max-frequency = <25000000>;
+		reg = <0>;
+	};
+};
diff --git a/arch/mips/dts/ar933x.dtsi b/arch/mips/dts/ar933x.dtsi
new file mode 100644
index 0000000..00896b2
--- /dev/null
+++ b/arch/mips/dts/ar933x.dtsi
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include "skeleton.dtsi"
+
+/ {
+	compatible = "qca,ar933x";
+
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu@0 {
+			device_type = "cpu";
+			compatible = "mips,mips24Kc";
+			reg = <0>;
+		};
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		xtal: xtal {
+			#clock-cells = <0>;
+			compatible = "fixed-clock";
+			clock-output-names = "xtal";
+		};
+	};
+
+	pinctrl {
+		u-boot,dm-pre-reloc;
+		compatible = "qca,ar933x-pinctrl";
+		ranges;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		reg = <0x18040000 0x100>;
+	};
+
+	ahb {
+		compatible = "simple-bus";
+		ranges;
+
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		apb {
+			compatible = "simple-bus";
+			ranges;
+
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			ehci0: ehci@1b000100 {
+				compatible = "generic-ehci";
+				reg = <0x1b000100 0x100>;
+
+				status = "disabled";
+			};
+
+			uart0: uart@18020000 {
+				compatible = "qca,ar9330-uart";
+				reg = <0x18020000 0x20>;
+				interrupts = <128 IRQ_TYPE_LEVEL_HIGH>;
+
+				status = "disabled";
+			};
+
+			gmac0: eth@0x19000000 {
+				compatible = "qca,ag7240-mac";
+				reg = <0x19000000 0x200>;
+				phy = <&phy0>;
+				phy-mode = "rmii";
+
+				status = "disabled";
+
+				mdio {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					phy0: ethernet-phy@0 {
+						reg = <0>;
+					};
+				};
+			};
+
+			gmac1: eth@0x1a000000 {
+				compatible = "qca,ag7240-mac";
+				reg = <0x1a000000 0x200>;
+				phy = <&phy0>;
+				phy-mode = "rgmii";
+
+				status = "disabled";
+			};
+		};
+
+		spi0: spi@1f000000 {
+			compatible = "qca,ar7100-spi";
+			reg = <0x1f000000 0x10>;
+			interrupts = <129 IRQ_TYPE_LEVEL_HIGH>;
+
+			status = "disabled";
+
+			#address-cells = <1>;
+			#size-cells = <0>;
+		};
+	};
+};
diff --git a/arch/mips/dts/ar934x.dtsi b/arch/mips/dts/ar934x.dtsi
new file mode 100644
index 0000000..7a036a8
--- /dev/null
+++ b/arch/mips/dts/ar934x.dtsi
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2016 Marek Vasut <marex@denx.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include "skeleton.dtsi"
+
+/ {
+	compatible = "qca,ar934x";
+
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu@0 {
+			device_type = "cpu";
+			compatible = "mips,mips74Kc";
+			reg = <0>;
+		};
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		xtal: xtal {
+			#clock-cells = <0>;
+			compatible = "fixed-clock";
+			clock-output-names = "xtal";
+		};
+	};
+
+	ahb {
+		compatible = "simple-bus";
+		ranges;
+
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		apb {
+			compatible = "simple-bus";
+			ranges;
+
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			ehci0: ehci@1b000100 {
+				compatible = "generic-ehci";
+				reg = <0x1b000100 0x100>;
+
+				status = "disabled";
+			};
+
+			uart0: uart@18020000 {
+				compatible = "ns16550";
+				reg = <0x18020000 0x20>;
+				reg-shift = <2>;
+
+				status = "disabled";
+			};
+
+			gmac0: eth@0x19000000 {
+				compatible = "qca,ag934x-mac";
+				reg = <0x19000000 0x200>;
+				phy = <&phy0>;
+				phy-mode = "rgmii";
+
+				status = "disabled";
+
+				mdio {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					phy0: ethernet-phy@0 {
+						reg = <0>;
+					};
+				};
+			};
+
+			gmac1: eth@0x1a000000 {
+				compatible = "qca,ag934x-mac";
+				reg = <0x1a000000 0x200>;
+				phy = <&phy1>;
+				phy-mode = "rgmii";
+
+				status = "disabled";
+
+				mdio {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					phy1: ethernet-phy@0 {
+						reg = <0>;
+					};
+				};
+			};
+		};
+
+		spi0: spi@1f000000 {
+			compatible = "qca,ar7100-spi";
+			reg = <0x1f000000 0x10>;
+
+			status = "disabled";
+
+			#address-cells = <1>;
+			#size-cells = <0>;
+		};
+	};
+};
diff --git a/arch/mips/dts/qca953x.dtsi b/arch/mips/dts/qca953x.dtsi
new file mode 100644
index 0000000..870010f
--- /dev/null
+++ b/arch/mips/dts/qca953x.dtsi
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include "skeleton.dtsi"
+
+/ {
+	compatible = "qca,qca953x";
+
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu@0 {
+			device_type = "cpu";
+			compatible = "mips,mips24Kc";
+			reg = <0>;
+		};
+	};
+
+	clocks {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+
+		xtal: xtal {
+			#clock-cells = <0>;
+			compatible = "fixed-clock";
+			clock-output-names = "xtal";
+		};
+	};
+
+	pinctrl {
+		u-boot,dm-pre-reloc;
+		compatible = "qca,qca953x-pinctrl";
+		ranges;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		reg = <0x18040000 0x100>;
+	};
+
+	ahb {
+		compatible = "simple-bus";
+		ranges;
+
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		apb {
+			compatible = "simple-bus";
+			ranges;
+
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			uart0: uart@18020000 {
+				compatible = "ns16550";
+				reg = <0x18020000 0x20>;
+				reg-shift = <2>;
+				clock-frequency = <25000000>;
+				interrupts = <128 IRQ_TYPE_LEVEL_HIGH>;
+
+				status = "disabled";
+			};
+		};
+
+		spi0: spi@1f000000 {
+			compatible = "qca,ar7100-spi";
+			reg = <0x1f000000 0x10>;
+			interrupts = <129 IRQ_TYPE_LEVEL_HIGH>;
+
+			status = "disabled";
+
+			#address-cells = <1>;
+			#size-cells = <0>;
+		};
+	};
+};
diff --git a/arch/mips/dts/tplink_wdr4300.dts b/arch/mips/dts/tplink_wdr4300.dts
new file mode 100644
index 0000000..cfda4df
--- /dev/null
+++ b/arch/mips/dts/tplink_wdr4300.dts
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2016 Marek Vasut <marex@denx.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+/dts-v1/;
+#include "ar934x.dtsi"
+
+/ {
+	model = "TP-Link WDR4300 Board";
+	compatible = "tplink,wdr4300", "qca,ar934x";
+
+	aliases {
+		serial0 = &uart0;
+		spi0 = &spi0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&ehci0 {
+	status = "okay";
+};
+
+&gmac0 {
+	phy-mode = "rgmii";
+	status = "okay";
+};
+
+&spi0 {
+	spi-max-frequency = <25000000>;
+	status = "okay";
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "spi-flash";
+		memory-map = <0x1e000000 0x00800000>;
+		spi-max-frequency = <25000000>;
+		reg = <0>;
+	};
+};
+
+&uart0 {
+	clock-frequency = <40000000>;
+	status = "okay";
+};
+
+&xtal {
+	clock-frequency = <40000000>;
+};
diff --git a/arch/mips/include/asm/global_data.h b/arch/mips/include/asm/global_data.h
index a1ca257..3f230b0 100644
--- a/arch/mips/include/asm/global_data.h
+++ b/arch/mips/include/asm/global_data.h
@@ -23,6 +23,12 @@
 	unsigned long tbl;
 	unsigned long lastinc;
 #endif
+#ifdef CONFIG_ARCH_ATH79
+	unsigned long id;
+	unsigned long soc;
+	unsigned long rev;
+	unsigned long ver;
+#endif
 };
 
 #include <asm-generic/global_data.h>
diff --git a/arch/mips/lib/cache_init.S b/arch/mips/lib/cache_init.S
index 14cc2c4..08b7c3a 100644
--- a/arch/mips/lib/cache_init.S
+++ b/arch/mips/lib/cache_init.S
@@ -64,7 +64,7 @@
 	/* detect associativity */
 	srl	\sz, $1, \off + MIPS_CONF1_DA_SHF - MIPS_CONF1_DA_SHF
 	andi	\sz, \sz, (MIPS_CONF1_DA >> MIPS_CONF1_DA_SHF)
-	addi	\sz, \sz, 1
+	addiu	\sz, \sz, 1
 
 	/* sz *= line_sz */
 	mul	\sz, \sz, \line_sz
diff --git a/arch/mips/mach-ath79/Kconfig b/arch/mips/mach-ath79/Kconfig
new file mode 100644
index 0000000..7d483aa
--- /dev/null
+++ b/arch/mips/mach-ath79/Kconfig
@@ -0,0 +1,55 @@
+menu "QCA/Atheros 7xxx/9xxx platforms"
+	depends on ARCH_ATH79
+
+config SYS_SOC
+	default "ath79"
+
+config SOC_AR933X
+	bool
+	select SUPPORTS_BIG_ENDIAN
+	select SUPPORTS_CPU_MIPS32_R1
+	select SUPPORTS_CPU_MIPS32_R2
+	select MIPS_TUNE_24KC
+	help
+	  This supports QCA/Atheros ar933x family SOCs.
+
+config SOC_AR934X
+	bool
+	select SUPPORTS_BIG_ENDIAN
+	select SUPPORTS_CPU_MIPS32_R1
+	select SUPPORTS_CPU_MIPS32_R2
+	select MIPS_TUNE_74KC
+	help
+	  This supports QCA/Atheros ar934x family SOCs.
+
+config SOC_QCA953X
+	bool
+	select SUPPORTS_BIG_ENDIAN
+	select SUPPORTS_CPU_MIPS32_R1
+	select SUPPORTS_CPU_MIPS32_R2
+	select MIPS_TUNE_24KC
+	help
+	  This supports QCA/Atheros qca953x family SOCs.
+
+choice
+	prompt "Board select"
+
+config TARGET_AP121
+	bool "AP121 Reference Board"
+	select SOC_AR933X
+
+config TARGET_AP143
+	bool "AP143 Reference Board"
+	select SOC_QCA953X
+
+config BOARD_TPLINK_WDR4300
+	bool "TP-Link WDR4300 Board"
+	select SOC_AR934X
+
+endchoice
+
+source "board/qca/ap121/Kconfig"
+source "board/qca/ap143/Kconfig"
+source "board/tplink/wdr4300/Kconfig"
+
+endmenu
diff --git a/arch/mips/mach-ath79/Makefile b/arch/mips/mach-ath79/Makefile
new file mode 100644
index 0000000..d7e2666
--- /dev/null
+++ b/arch/mips/mach-ath79/Makefile
@@ -0,0 +1,11 @@
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y += reset.o
+obj-y += cpu.o
+obj-y += dram.o
+
+obj-$(CONFIG_SOC_AR933X)	+= ar933x/
+obj-$(CONFIG_SOC_AR934X)	+= ar934x/
+obj-$(CONFIG_SOC_QCA953X)	+= qca953x/
diff --git a/arch/mips/mach-ath79/ar933x/Makefile b/arch/mips/mach-ath79/ar933x/Makefile
new file mode 100644
index 0000000..fd74f0c
--- /dev/null
+++ b/arch/mips/mach-ath79/ar933x/Makefile
@@ -0,0 +1,7 @@
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y += clk.o
+obj-y += ddr.o
+obj-y += lowlevel_init.o
diff --git a/arch/mips/mach-ath79/ar933x/clk.c b/arch/mips/mach-ath79/ar933x/clk.c
new file mode 100644
index 0000000..9fcd496
--- /dev/null
+++ b/arch/mips/mach-ath79/ar933x/clk.c
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <mach/ar71xx_regs.h>
+#include <mach/reset.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static u32 ar933x_get_xtal(void)
+{
+	u32 val;
+
+	val = get_bootstrap();
+	if (val & AR933X_BOOTSTRAP_REF_CLK_40)
+		return 40000000;
+	else
+		return 25000000;
+}
+
+int get_serial_clock(void)
+{
+	return ar933x_get_xtal();
+}
+
+int get_clocks(void)
+{
+	void __iomem *regs;
+	u32 val, xtal, pll, div;
+
+	regs = map_physmem(AR71XX_PLL_BASE, AR71XX_PLL_SIZE,
+			   MAP_NOCACHE);
+	xtal = ar933x_get_xtal();
+	val = readl(regs + AR933X_PLL_CPU_CONFIG_REG);
+
+	/* VCOOUT = XTAL * DIV_INT */
+	div = (val >> AR933X_PLL_CPU_CONFIG_REFDIV_SHIFT)
+			& AR933X_PLL_CPU_CONFIG_REFDIV_MASK;
+	pll = xtal / div;
+
+	/* PLLOUT = VCOOUT * (1/2^OUTDIV) */
+	div = (val >> AR933X_PLL_CPU_CONFIG_NINT_SHIFT)
+			& AR933X_PLL_CPU_CONFIG_NINT_MASK;
+	pll *= div;
+	div = (val >> AR933X_PLL_CPU_CONFIG_OUTDIV_SHIFT)
+			& AR933X_PLL_CPU_CONFIG_OUTDIV_MASK;
+	if (!div)
+		div = 1;
+	pll >>= div;
+
+	val = readl(regs + AR933X_PLL_CLK_CTRL_REG);
+
+	/* CPU_CLK = PLLOUT / CPU_POST_DIV */
+	div = ((val >> AR933X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT)
+			& AR933X_PLL_CLK_CTRL_CPU_POST_DIV_MASK) + 1;
+	gd->cpu_clk = pll / div;
+
+	/* DDR_CLK = PLLOUT / DDR_POST_DIV */
+	div = ((val >> AR933X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT)
+			& AR933X_PLL_CLK_CTRL_DDR_POST_DIV_MASK) + 1;
+	gd->mem_clk = pll / div;
+
+	/* AHB_CLK = PLLOUT / AHB_POST_DIV */
+	div = ((val >> AR933X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT)
+			& AR933X_PLL_CLK_CTRL_AHB_POST_DIV_MASK) + 1;
+	gd->bus_clk = pll / div;
+
+	return 0;
+}
+
+ulong get_bus_freq(ulong dummy)
+{
+	if (!gd->bus_clk)
+		get_clocks();
+	return gd->bus_clk;
+}
+
+ulong get_ddr_freq(ulong dummy)
+{
+	if (!gd->mem_clk)
+		get_clocks();
+	return gd->mem_clk;
+}
diff --git a/arch/mips/mach-ath79/ar933x/ddr.c b/arch/mips/mach-ath79/ar933x/ddr.c
new file mode 100644
index 0000000..91452bc
--- /dev/null
+++ b/arch/mips/mach-ath79/ar933x/ddr.c
@@ -0,0 +1,333 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ * Based on Atheros LSDK/QSDK
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <mach/ar71xx_regs.h>
+#include <mach/reset.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#define DDR_CTRL_UPD_EMR3S      BIT(5)
+#define DDR_CTRL_UPD_EMR2S      BIT(4)
+#define DDR_CTRL_PRECHARGE      BIT(3)
+#define DDR_CTRL_AUTO_REFRESH   BIT(2)
+#define DDR_CTRL_UPD_EMRS       BIT(1)
+#define DDR_CTRL_UPD_MRS        BIT(0)
+
+#define DDR_REFRESH_EN          BIT(14)
+#define DDR_REFRESH_M           0x3ff
+#define DDR_REFRESH(x)          ((x) & 0x3ff)
+#define DDR_REFRESH_VAL_25M     (DDR_REFRESH_EN | DDR_REFRESH(390))
+#define DDR_REFRESH_VAL_40M     (DDR_REFRESH_EN | DDR_REFRESH(624))
+
+#define DDR_TRAS_S              0
+#define DDR_TRAS_M              0x1f
+#define DDR_TRAS(x)             ((x) << DDR_TRAS_S)
+#define DDR_TRCD_M              0xf
+#define DDR_TRCD_S              5
+#define DDR_TRCD(x)             ((x) << DDR_TRCD_S)
+#define DDR_TRP_M               0xf
+#define DDR_TRP_S               9
+#define DDR_TRP(x)              ((x) << DDR_TRP_S)
+#define DDR_TRRD_M              0xf
+#define DDR_TRRD_S              13
+#define DDR_TRRD(x)             ((x) << DDR_TRRD_S)
+#define DDR_TRFC_M              0x7f
+#define DDR_TRFC_S              17
+#define DDR_TRFC(x)             ((x) << DDR_TRFC_S)
+#define DDR_TMRD_M              0xf
+#define DDR_TMRD_S              23
+#define DDR_TMRD(x)             ((x) << DDR_TMRD_S)
+#define DDR_CAS_L_M             0x17
+#define DDR_CAS_L_S             27
+#define DDR_CAS_L(x)            (((x) & DDR_CAS_L_M) << DDR_CAS_L_S)
+#define DDR_OPEN                BIT(30)
+#define DDR_CONF_REG_VAL        (DDR_TRAS(16) | DDR_TRCD(6) | \
+				 DDR_TRP(6) | DDR_TRRD(4) | \
+				 DDR_TRFC(30) | DDR_TMRD(15) | \
+				 DDR_CAS_L(7) | DDR_OPEN)
+
+#define DDR_BURST_LEN_S         0
+#define DDR_BURST_LEN_M         0xf
+#define DDR_BURST_LEN(x)        ((x) << DDR_BURST_LEN_S)
+#define DDR_BURST_TYPE          BIT(4)
+#define DDR_CNTL_OE_EN          BIT(5)
+#define DDR_PHASE_SEL           BIT(6)
+#define DDR_CKE                 BIT(7)
+#define DDR_TWR_S               8
+#define DDR_TWR_M               0xf
+#define DDR_TWR(x)              ((x) << DDR_TWR_S)
+#define DDR_TRTW_S              12
+#define DDR_TRTW_M              0x1f
+#define DDR_TRTW(x)             ((x) << DDR_TRTW_S)
+#define DDR_TRTP_S              17
+#define DDR_TRTP_M              0xf
+#define DDR_TRTP(x)             ((x) << DDR_TRTP_S)
+#define DDR_TWTR_S              21
+#define DDR_TWTR_M              0x1f
+#define DDR_TWTR(x)             ((x) << DDR_TWTR_S)
+#define DDR_G_OPEN_L_S          26
+#define DDR_G_OPEN_L_M          0xf
+#define DDR_G_OPEN_L(x)         ((x) << DDR_G_OPEN_L_S)
+#define DDR_HALF_WIDTH_LOW      BIT(31)
+#define DDR_CONF2_REG_VAL       (DDR_BURST_LEN(8) | DDR_CNTL_OE_EN | \
+				 DDR_CKE | DDR_TWR(6) | DDR_TRTW(14) | \
+				 DDR_TRTP(8) | DDR_TWTR(14) | \
+				 DDR_G_OPEN_L(7) | DDR_HALF_WIDTH_LOW)
+
+#define DDR2_CONF_TWL_S         10
+#define DDR2_CONF_TWL_M         0xf
+#define DDR2_CONF_TWL(x)        (((x) & DDR2_CONF_TWL_M) << DDR2_CONF_TWL_S)
+#define DDR2_CONF_ODT           BIT(9)
+#define DDR2_CONF_TFAW_S        2
+#define DDR2_CONF_TFAW_M        0x3f
+#define DDR2_CONF_TFAW(x)       (((x) & DDR2_CONF_TFAW_M) << DDR2_CONF_TFAW_S)
+#define DDR2_CONF_EN            BIT(0)
+#define DDR2_CONF_VAL           (DDR2_CONF_TWL(2) | DDR2_CONF_ODT | \
+				 DDR2_CONF_TFAW(22) | DDR2_CONF_EN)
+
+#define DDR1_EXT_MODE_VAL       0x02
+#define DDR2_EXT_MODE_VAL       0x402
+#define DDR2_EXT_MODE_OCD_VAL   0x382
+#define DDR1_MODE_DLL_VAL       0x133
+#define DDR2_MODE_DLL_VAL       0x100
+#define DDR1_MODE_VAL           0x33
+#define DDR2_MODE_VAL           0xa33
+#define DDR_TAP_VAL0            0x08
+#define DDR_TAP_VAL1            0x09
+
+void ddr_init(void)
+{
+	void __iomem *regs;
+	u32 val;
+
+	regs = map_physmem(AR71XX_DDR_CTRL_BASE, AR71XX_DDR_CTRL_SIZE,
+			   MAP_NOCACHE);
+
+	writel(DDR_CONF_REG_VAL, regs + AR71XX_DDR_REG_CONFIG);
+	writel(DDR_CONF2_REG_VAL, regs + AR71XX_DDR_REG_CONFIG2);
+
+	val = get_bootstrap();
+	if (val & AR933X_BOOTSTRAP_DDR2) {
+		/* AHB maximum timeout */
+		writel(0xfffff, regs + AR933X_DDR_REG_TIMEOUT_MAX);
+
+		/* Enable DDR2 */
+		writel(DDR2_CONF_VAL, regs + AR933X_DDR_REG_DDR2_CONFIG);
+
+		/* Precharge All */
+		writel(DDR_CTRL_PRECHARGE, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Disable High Temperature Self-Refresh, Full Array */
+		writel(0x00, regs + AR933X_DDR_REG_EMR2);
+
+		/* Extended Mode Register 2 Set (EMR2S) */
+		writel(DDR_CTRL_UPD_EMR2S, regs + AR71XX_DDR_REG_CONTROL);
+
+		writel(0x00, regs + AR933X_DDR_REG_EMR3);
+
+		/* Extended Mode Register 3 Set (EMR3S) */
+		writel(DDR_CTRL_UPD_EMR3S, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Enable DLL,  Full strength, ODT Disabled */
+		writel(0x00, regs + AR71XX_DDR_REG_EMR);
+
+		/* Extended Mode Register Set (EMRS) */
+		writel(DDR_CTRL_UPD_EMRS, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Reset DLL */
+		writel(DDR2_MODE_DLL_VAL, regs + AR71XX_DDR_REG_MODE);
+
+		/* Mode Register Set (MRS) */
+		writel(DDR_CTRL_UPD_MRS, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Precharge All */
+		writel(DDR_CTRL_PRECHARGE, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Auto Refresh */
+		writel(DDR_CTRL_AUTO_REFRESH, regs + AR71XX_DDR_REG_CONTROL);
+		writel(DDR_CTRL_AUTO_REFRESH, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Write recovery (WR) 6 clock, CAS Latency 3, Burst Length 8 */
+		writel(DDR2_MODE_VAL, regs + AR71XX_DDR_REG_MODE);
+		/* Mode Register Set (MRS) */
+		writel(DDR_CTRL_UPD_MRS, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Enable OCD defaults, Enable DLL, Reduced Drive Strength */
+		writel(DDR2_EXT_MODE_OCD_VAL, regs + AR71XX_DDR_REG_EMR);
+
+		/* Extended Mode Register Set (EMRS) */
+		writel(DDR_CTRL_UPD_EMRS, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* OCD exit, Enable DLL, Enable /DQS, Reduced Drive Strength */
+		writel(DDR2_EXT_MODE_VAL, regs + AR71XX_DDR_REG_EMR);
+		/* Extended Mode Register Set (EMRS) */
+		writel(DDR_CTRL_UPD_EMRS, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Refresh time control */
+		if (val & AR933X_BOOTSTRAP_REF_CLK_40)
+			writel(DDR_REFRESH_VAL_40M, regs +
+			       AR71XX_DDR_REG_REFRESH);
+		else
+			writel(DDR_REFRESH_VAL_25M, regs +
+			       AR71XX_DDR_REG_REFRESH);
+
+		/* DQS 0 Tap Control */
+		writel(DDR_TAP_VAL0, regs + AR71XX_DDR_REG_TAP_CTRL0);
+
+		/* DQS 1 Tap Control */
+		writel(DDR_TAP_VAL1, regs + AR71XX_DDR_REG_TAP_CTRL1);
+
+		/* For 16-bit DDR */
+		writel(0xff, regs + AR71XX_DDR_REG_RD_CYCLE);
+	} else {
+		/* AHB maximum timeout */
+		writel(0xfffff, regs + AR933X_DDR_REG_TIMEOUT_MAX);
+
+		/* Precharge All */
+		writel(DDR_CTRL_PRECHARGE, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Reset DLL, Burst Length 8, CAS Latency 3 */
+		writel(DDR1_MODE_DLL_VAL, regs + AR71XX_DDR_REG_MODE);
+
+		/* Forces an MRS update cycle in DDR */
+		writel(DDR_CTRL_UPD_MRS, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Enable DLL, Full strength */
+		writel(DDR1_EXT_MODE_VAL, regs + AR71XX_DDR_REG_EMR);
+
+		/* Extended Mode Register Set (EMRS) */
+		writel(DDR_CTRL_UPD_EMRS, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Precharge All */
+		writel(DDR_CTRL_PRECHARGE, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Normal DLL, Burst Length 8, CAS Latency 3 */
+		writel(DDR1_MODE_VAL, regs + AR71XX_DDR_REG_MODE);
+
+		/* Mode Register Set (MRS) */
+		writel(DDR_CTRL_UPD_MRS, regs + AR71XX_DDR_REG_CONTROL);
+
+		/* Refresh time control */
+		if (val & AR933X_BOOTSTRAP_REF_CLK_40)
+			writel(DDR_REFRESH_VAL_40M, regs +
+			       AR71XX_DDR_REG_REFRESH);
+		else
+			writel(DDR_REFRESH_VAL_25M, regs +
+			       AR71XX_DDR_REG_REFRESH);
+
+		/* DQS 0 Tap Control */
+		writel(DDR_TAP_VAL0, regs + AR71XX_DDR_REG_TAP_CTRL0);
+
+		/* DQS 1 Tap Control */
+		writel(DDR_TAP_VAL1, regs + AR71XX_DDR_REG_TAP_CTRL1);
+
+		/* For 16-bit DDR */
+		writel(0xff, regs + AR71XX_DDR_REG_RD_CYCLE);
+	}
+}
+
+void ddr_tap_tuning(void)
+{
+	void __iomem *regs;
+	u32 *addr_k0, *addr_k1, *addr;
+	u32 val, tap, upper, lower;
+	int i, j, dir, err, done;
+
+	regs = map_physmem(AR71XX_DDR_CTRL_BASE, AR71XX_DDR_CTRL_SIZE,
+			   MAP_NOCACHE);
+
+	/* Init memory pattern */
+	addr = (void *)CKSEG0ADDR(0x2000);
+	for (i = 0; i < 256; i++) {
+		val = 0;
+		for (j = 0; j < 8; j++) {
+			if (i & (1 << j)) {
+				if (j % 2)
+					val |= 0xffff0000;
+				else
+					val |= 0x0000ffff;
+			}
+
+			if (j % 2) {
+				*addr++ = val;
+				val = 0;
+			}
+		}
+	}
+
+	err = 0;
+	done = 0;
+	dir = 1;
+	tap = readl(regs + AR71XX_DDR_REG_TAP_CTRL0);
+	val = tap;
+	while (!done) {
+		err = 0;
+
+		/* Update new DDR tap value */
+		writel(val, regs + AR71XX_DDR_REG_TAP_CTRL0);
+		writel(val, regs + AR71XX_DDR_REG_TAP_CTRL1);
+
+		/* Compare DDR with cache */
+		for (i = 0; i < 2; i++) {
+			addr_k1 = (void *)CKSEG1ADDR(0x2000);
+			addr_k0 = (void *)CKSEG0ADDR(0x2000);
+			addr = (void *)CKSEG0ADDR(0x3000);
+
+			while (addr_k0 < addr) {
+				if (*addr_k1++ != *addr_k0++) {
+					err = 1;
+					break;
+				}
+			}
+
+			if (err)
+				break;
+		}
+
+		if (err) {
+			/* Save upper/lower threshold if error  */
+			if (dir) {
+				dir = 0;
+				val--;
+				upper = val;
+				val = tap;
+			} else {
+				val++;
+				lower = val;
+				done = 1;
+			}
+		} else {
+			/* Try the next value until limitation */
+			if (dir) {
+				if (val < 0x20) {
+					val++;
+				} else {
+					dir = 0;
+					upper = val;
+					val = tap;
+				}
+			} else {
+				if (!val) {
+					lower = val;
+					done = 1;
+				} else {
+					val--;
+				}
+			}
+		}
+	}
+
+	/* compute an intermediate value and write back */
+	val = (upper + lower) / 2;
+	writel(val, regs + AR71XX_DDR_REG_TAP_CTRL0);
+	val++;
+	writel(val, regs + AR71XX_DDR_REG_TAP_CTRL1);
+}
diff --git a/arch/mips/mach-ath79/ar933x/lowlevel_init.S b/arch/mips/mach-ath79/ar933x/lowlevel_init.S
new file mode 100644
index 0000000..1b847f5
--- /dev/null
+++ b/arch/mips/mach-ath79/ar933x/lowlevel_init.S
@@ -0,0 +1,280 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ * Based on Atheros LSDK/QSDK and u-boot_mod project
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <config.h>
+#include <asm/asm.h>
+#include <asm/regdef.h>
+#include <asm/mipsregs.h>
+#include <asm/addrspace.h>
+#include <mach/ar71xx_regs.h>
+
+#define SET_BIT(val, bit)   ((val) | (1 << (bit)))
+#define SET_PLL_PD(val)     SET_BIT(val, 30)
+#define AHB_DIV_TO_4(val)   SET_BIT(SET_BIT(val, 15), 16)
+#define PLL_BYPASS(val)     SET_BIT(val, 2)
+
+#define MK_PLL_CONF(divint, refdiv, range, outdiv) \
+     (((0x3F & divint) << 10) | \
+     ((0x1F & refdiv) << 16) | \
+     ((0x1 & range)   << 21) | \
+     ((0x7 & outdiv)  << 23) )
+
+#define MK_CLK_CNTL(cpudiv, ddrdiv, ahbdiv) \
+    (((0x3 & (cpudiv - 1)) << 5)  | \
+    ((0x3 & (ddrdiv - 1)) << 10) | \
+    ((0x3 & (ahbdiv - 1)) << 15) )
+
+/*
+ * PLL_CPU_CONFIG_VAL
+ *
+ * Bit30 is set (CPU_PLLPWD = 1 -> power down control for CPU PLL)
+ * After PLL configuration we need to clear this bit
+ *
+ * Values written into CPU PLL Configuration (CPU_PLL_CONFIG)
+ *
+ * bits 10..15  (6bit)  DIV_INT (Integer part of the DIV to CPU PLL)
+ *                      =>  32  (0x20)  VCOOUT = XTAL * DIV_INT
+ * bits 16..20  (5bit)  REFDIV  (Reference clock divider)
+ *                      =>  1   (0x1)   [Must start at values 1]
+ * bits 21      (1bit)  RANGE   (VCO frequency range of the CPU PLL)
+ *                      =>  0   (0x0)   [Doesn't impact clock values]
+ * bits 23..25  (3bit)  OUTDIV  (Ratio between VCO and PLL output)
+ *                      =>  1   (0x1)   [0 is illegal!]
+ *                              PLLOUT = VCOOUT * (1/2^OUTDIV)
+ */
+/* DIV_INT=32 (25MHz*32/2=400MHz), REFDIV=1, RANGE=0, OUTDIV=1 */
+#define PLL_CPU_CONFIG_VAL_40M  MK_PLL_CONF(20, 1, 0, 1)
+/* DIV_INT=20 (40MHz*20/2=400MHz), REFDIV=1, RANGE=0, OUTDIV=1 */
+#define PLL_CPU_CONFIG_VAL_25M  MK_PLL_CONF(32, 1, 0, 1)
+
+/*
+ * PLL_CLK_CONTROL_VAL
+ *
+ * In PLL_CLK_CONTROL_VAL bit 2 is set (BYPASS = 1 -> bypass PLL)
+ * After PLL configuration we need to clear this bit
+ *
+ * Values written into CPU Clock Control Register CLOCK_CONTROL
+ *
+ * bits 2       (1bit)  BYPASS (Bypass PLL. This defaults to 1 for test.
+ *                      Software must enable the CPU PLL for normal and
+ *                      then set this bit to 0)
+ * bits 5..6    (2bit)  CPU_POST_DIV    =>  0   (DEFAULT, Ratio = 1)
+ *                      CPU_CLK = PLLOUT / CPU_POST_DIV
+ * bits 10..11  (2bit)  DDR_POST_DIV    =>  0   (DEFAULT, Ratio = 1)
+ *                      DDR_CLK = PLLOUT / DDR_POST_DIV
+ * bits 15..16  (2bit)  AHB_POST_DIV    =>  1   (DEFAULT, Ratio = 2)
+ *                      AHB_CLK = PLLOUT / AHB_POST_DIV
+ *
+ */
+#define PLL_CLK_CONTROL_VAL MK_CLK_CNTL(1, 1, 2)
+
+    .text
+    .set noreorder
+
+LEAF(lowlevel_init)
+	/* These three WLAN_RESET will avoid original issue */
+	li      t3, 0x03
+1:
+	li      t0, CKSEG1ADDR(AR71XX_RESET_BASE)
+	lw      t1, AR933X_RESET_REG_RESET_MODULE(t0)
+	ori     t1, t1, 0x0800
+	sw      t1, AR933X_RESET_REG_RESET_MODULE(t0)
+	nop
+	lw      t1, AR933X_RESET_REG_RESET_MODULE(t0)
+	li      t2, 0xfffff7ff
+	and     t1, t1, t2
+	sw      t1, AR933X_RESET_REG_RESET_MODULE(t0)
+	nop
+	addi    t3, t3, -1
+	bnez    t3, 1b
+	nop
+
+	li      t2, 0x20
+2:
+	beqz    t2, 1b
+	nop
+	addi    t2, t2, -1
+	lw      t5, AR933X_RESET_REG_BOOTSTRAP(t0)
+	andi    t1, t5, 0x10
+	bnez    t1, 2b
+	nop
+
+	li      t1, 0x02110E
+	sw      t1, AR933X_RESET_REG_BOOTSTRAP(t0)
+	nop
+
+	/* RTC Force Wake */
+	li      t0, CKSEG1ADDR(AR933X_RTC_BASE)
+	li      t1, 0x03
+	sw      t1, AR933X_RTC_REG_FORCE_WAKE(t0)
+	nop
+	nop
+
+	/* RTC Reset */
+	li      t1, 0x00
+	sw      t1, AR933X_RTC_REG_RESET(t0)
+	nop
+	nop
+
+	li      t1, 0x01
+	sw      t1, AR933X_RTC_REG_RESET(t0)
+	nop
+	nop
+
+	/* Wait for RTC in on state */
+1:
+	lw      t1, AR933X_RTC_REG_STATUS(t0)
+	andi    t1, t1, 0x02
+	beqz    t1, 1b
+	nop
+
+	/* Program ki/kd */
+	li      t0, CKSEG1ADDR(AR933X_SRIF_BASE)
+	andi    t1, t5, 0x01            # t5 BOOT_STRAP
+	bnez    t1, 1f
+	nop
+	li      t1, 0x19e82f01
+	b       2f
+	nop
+1:
+	li      t1, 0x18e82f01
+2:
+	sw      t1, AR933X_SRIF_DDR_DPLL2_REG(t0)
+
+	/* Program phase shift */
+	lw      t1, AR933X_SRIF_DDR_DPLL3_REG(t0)
+	li      t2, 0xc07fffff
+	and     t1, t1, t2
+	li      t2, 0x800000
+	or      t1, t1, t2
+	sw      t1, AR933X_SRIF_DDR_DPLL3_REG(t0)
+	nop
+
+	/* in some cases, the SoC doesn't start with higher clock on AHB */
+	li      t0, CKSEG1ADDR(AR71XX_PLL_BASE)
+	li      t1, AHB_DIV_TO_4(PLL_BYPASS(PLL_CLK_CONTROL_VAL))
+	sw      t1, AR933X_PLL_CLK_CTRL_REG(t0)
+	nop
+
+	/* Set SETTLE_TIME in CPU PLL */
+	andi    t1, t5, 0x01            # t5 BOOT_STRAP
+	bnez    t1, 1f
+	nop
+	li      t1, 0x0352
+	b       2f
+	nop
+1:
+	li      t1, 0x0550
+2:
+	sw      t1, AR71XX_PLL_REG_SEC_CONFIG(t0)
+	nop
+
+	/* Set nint, frac, refdiv, outdiv, range according to xtal */
+0:
+	andi    t1, t5, 0x01            # t5 BOOT_STRAP
+	bnez    t1, 1f
+	nop
+	li      t1, SET_PLL_PD(PLL_CPU_CONFIG_VAL_25M)
+	b       2f
+	nop
+1:
+	li      t1, SET_PLL_PD(PLL_CPU_CONFIG_VAL_40M)
+2:
+	sw      t1, AR933X_PLL_CPU_CONFIG_REG(t0)
+	nop
+1:
+	lw      t1, AR933X_PLL_CPU_CONFIG_REG(t0)
+	li      t2, 0x80000000
+	and     t1, t1, t2
+	bnez    t1, 1b
+	nop
+
+	/* Put frac bit19:10 configuration */
+	li      t1, 0x1003E8
+	sw      t1, AR933X_PLL_DITHER_FRAC_REG(t0)
+	nop
+
+	/* Clear PLL power down bit in CPU PLL configuration */
+	andi    t1, t5, 0x01            # t5 BOOT_STRAP
+	bnez    t1, 1f
+	nop
+	li      t1, PLL_CPU_CONFIG_VAL_25M
+	b       2f
+	nop
+1:
+	li      t1, PLL_CPU_CONFIG_VAL_40M
+2:
+	sw      t1, AR933X_PLL_CPU_CONFIG_REG(t0)
+	nop
+
+	/* Wait for PLL update -> bit 31 in CPU_PLL_CONFIG should be 0 */
+1:
+	lw      t1, AR933X_PLL_CPU_CONFIG_REG(t0)
+	li      t2, 0x80000000
+	and     t1, t1, t2
+	bnez    t1, 1b
+	nop
+
+	/* Confirm DDR PLL lock */
+	li      t3, 100
+	li      t4, 0
+
+2:
+	addi    t4, t4, 1
+	bgt     t4, t3, 0b
+	nop
+
+	li      t3, 5
+3:
+	/* Clear do_meas */
+	li      t0, CKSEG1ADDR(AR933X_SRIF_BASE)
+	lw      t1, AR933X_SRIF_DDR_DPLL3_REG(t0)
+	li      t2, 0xBFFFFFFF
+	and     t1, t1, t2
+	sw      t1, AR933X_SRIF_DDR_DPLL3_REG(t0)
+	nop
+
+	li      t2, 10
+1:
+	subu    t2, t2, 1
+	bnez    t2, 1b
+	nop
+
+	/* Set do_meas */
+	li      t2, 0x40000000
+	or      t1, t1, t2
+	sw      t1, AR933X_SRIF_DDR_DPLL3_REG(t0)
+	nop
+
+	/* Check meas_done */
+1:
+	lw      t1, AR933X_SRIF_DDR_DPLL4_REG(t0)
+	andi    t1, t1, 0x8
+	beqz    t1, 1b
+	nop
+
+	lw      t1, AR933X_SRIF_DDR_DPLL3_REG(t0)
+	li      t2, 0x007FFFF8
+	and     t1, t1, t2
+	srl     t1, t1, 3
+	li      t2, 0x4000
+	bgt     t1, t2, 2b
+	nop
+	addi    t3, t3, -1
+	bnez    t3, 3b
+	nop
+
+	/* clear PLL bypass (bit 2) in CPU CLOCK CONTROL register */
+	li      t0, CKSEG1ADDR(AR71XX_PLL_BASE)
+	li      t1, PLL_CLK_CONTROL_VAL
+	sw      t1, AR933X_PLL_CLK_CTRL_REG(t0)
+	nop
+
+	nop
+	jr ra
+	nop
+    END(lowlevel_init)
diff --git a/arch/mips/mach-ath79/ar934x/Makefile b/arch/mips/mach-ath79/ar934x/Makefile
new file mode 100644
index 0000000..348c65b
--- /dev/null
+++ b/arch/mips/mach-ath79/ar934x/Makefile
@@ -0,0 +1,7 @@
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y += cpu.o
+obj-y += clk.o
+obj-y += ddr.o
diff --git a/arch/mips/mach-ath79/ar934x/clk.c b/arch/mips/mach-ath79/ar934x/clk.c
new file mode 100644
index 0000000..9c65184
--- /dev/null
+++ b/arch/mips/mach-ath79/ar934x/clk.c
@@ -0,0 +1,334 @@
+/*
+ * Copyright (C) 2016 Marek Vasut <marex@denx.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <mach/ar71xx_regs.h>
+#include <mach/reset.h>
+#include <wait_bit.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * The math for calculating PLL:
+ *                                       NFRAC * 2^8
+ *                               NINT + -------------
+ *                XTAL [MHz]              2^(18 - 1)
+ *   PLL [MHz] = ------------ * ----------------------
+ *                  REFDIV              2^OUTDIV
+ *
+ * Unfortunatelly, there is no way to reliably compute the variables.
+ * The vendor U-Boot port contains macros for various combinations of
+ * CPU PLL / DDR PLL / AHB bus speed and there is no obvious pattern
+ * in those numbers.
+ */
+struct ar934x_pll_config {
+	u8	range;
+	u8	refdiv;
+	u8	outdiv;
+	/* Index 0 is for XTAL=25MHz , Index 1 is for XTAL=40MHz */
+	u8	nint[2];
+};
+
+struct ar934x_clock_config {
+	u16				cpu_freq;
+	u16				ddr_freq;
+	u16				ahb_freq;
+
+	struct ar934x_pll_config	cpu_pll;
+	struct ar934x_pll_config	ddr_pll;
+};
+
+static const struct ar934x_clock_config ar934x_clock_config[] = {
+	{ 300, 300, 150, { 1, 1, 1, { 24, 15 } }, { 1, 1, 1, { 24, 15 } } },
+	{ 400, 200, 200, { 1, 1, 1, { 32, 20 } }, { 1, 1, 2, { 32, 20 } } },
+	{ 400, 400, 200, { 0, 1, 1, { 32, 20 } }, { 0, 1, 1, { 32, 20 } } },
+	{ 500, 400, 200, { 1, 1, 0, { 20, 12 } }, { 0, 1, 1, { 32, 20 } } },
+	{ 533, 400, 200, { 1, 1, 0, { 21, 13 } }, { 0, 1, 1, { 32, 20 } } },
+	{ 533, 500, 250, { 1, 1, 0, { 21, 13 } }, { 0, 1, 0, { 20, 12 } } },
+	{ 560, 480, 240, { 1, 1, 0, { 22, 14 } }, { 1, 1, 0, { 19, 12 } } },
+	{ 566, 400, 200, { 1, 1, 0, { 22, 14 } }, { 1, 1, 0, { 16, 10 } } },
+	{ 566, 450, 225, { 1, 1, 0, { 22, 14 } }, { 0, 1, 1, { 36, 22 } } },
+	{ 566, 475, 237, { 1, 1, 0, { 22, 14 } }, { 1, 1, 0, { 19, 11 } } },
+	{ 566, 500, 250, { 1, 1, 0, { 22, 14 } }, { 1, 1, 0, { 20, 12 } } },
+	{ 566, 525, 262, { 1, 1, 0, { 22, 14 } }, { 1, 1, 0, { 21, 13 } } },
+	{ 566, 550, 275, { 1, 1, 0, { 22, 14 } }, { 1, 1, 0, { 22, 13 } } },
+	{ 600, 266, 133, { 0, 1, 0, { 24, 15 } }, { 1, 1, 1, { 21, 16 } } },
+	{ 600, 266, 200, { 0, 1, 0, { 24, 15 } }, { 1, 1, 1, { 21, 16 } } },
+	{ 600, 300, 150, { 0, 1, 0, { 24, 15 } }, { 0, 1, 1, { 24, 15 } } },
+	{ 600, 332, 166, { 0, 1, 0, { 24, 15 } }, { 1, 1, 1, { 26, 16 } } },
+	{ 600, 332, 200, { 0, 1, 0, { 24, 15 } }, { 1, 1, 1, { 26, 16 } } },
+	{ 600, 400, 200, { 0, 1, 0, { 24, 15 } }, { 0, 1, 1, { 32, 20 } } },
+	{ 600, 450, 200, { 0, 1, 0, { 24, 15 } }, { 0, 1, 0, { 18, 20 } } },
+	{ 600, 500, 250, { 0, 1, 0, { 24, 15 } }, { 1, 1, 0, { 20, 12 } } },
+	{ 600, 525, 262, { 0, 1, 0, { 24, 15 } }, { 0, 1, 0, { 21, 20 } } },
+	{ 600, 550, 275, { 0, 1, 0, { 24, 15 } }, { 0, 1, 0, { 22, 20 } } },
+	{ 600, 575, 287, { 0, 1, 0, { 24, 15 } }, { 0, 1, 0, { 23, 14 } } },
+	{ 600, 600, 300, { 0, 1, 0, { 24, 15 } }, { 0, 1, 0, { 24, 20 } } },
+	{ 600, 650, 325, { 0, 1, 0, { 24, 15 } }, { 0, 1, 0, { 26, 20 } } },
+	{ 650, 600, 300, { 0, 1, 0, { 26, 15 } }, { 0, 1, 0, { 24, 20 } } },
+	{ 700, 400, 200, { 3, 1, 0, { 28, 17 } }, { 0, 1, 1, { 32, 20 } } },
+};
+
+static void ar934x_srif_pll_cfg(void __iomem *pll_reg_base, const u32 srif_val)
+{
+	u32 reg;
+	do {
+		writel(0x10810f00, pll_reg_base + 0x4);
+		writel(srif_val, pll_reg_base + 0x0);
+		writel(0xd0810f00, pll_reg_base + 0x4);
+		writel(0x03000000, pll_reg_base + 0x8);
+		writel(0xd0800f00, pll_reg_base + 0x4);
+
+		clrbits_be32(pll_reg_base + 0x8, BIT(30));
+		udelay(5);
+		setbits_be32(pll_reg_base + 0x8, BIT(30));
+		udelay(5);
+
+		wait_for_bit("clk", pll_reg_base + 0xc, BIT(3), 1, 10, 0);
+
+		clrbits_be32(pll_reg_base + 0x8, BIT(30));
+		udelay(5);
+
+		/* Check if CPU SRIF PLL locked. */
+		reg = readl(pll_reg_base + 0x8);
+		reg = (reg & 0x7ffff8) >> 3;
+	} while (reg >= 0x40000);
+}
+
+void ar934x_pll_init(const u16 cpu_mhz, const u16 ddr_mhz, const u16 ahb_mhz)
+{
+	void __iomem *srif_regs = map_physmem(AR934X_SRIF_BASE,
+					      AR934X_SRIF_SIZE, MAP_NOCACHE);
+	void __iomem *pll_regs = map_physmem(AR71XX_PLL_BASE,
+					     AR71XX_PLL_SIZE, MAP_NOCACHE);
+	const struct ar934x_pll_config *pll_cfg;
+	int i, pll_nint, pll_refdiv, xtal_40 = 0;
+	u32 reg, cpu_pll, cpu_srif, ddr_pll, ddr_srif;
+
+	/* Configure SRIF PLL with initial values. */
+	writel(0x13210f00, srif_regs + AR934X_SRIF_CPU_DPLL2_REG);
+	writel(0x03000000, srif_regs + AR934X_SRIF_CPU_DPLL3_REG);
+	writel(0x13210f00, srif_regs + AR934X_SRIF_DDR_DPLL2_REG);
+	writel(0x03000000, srif_regs + AR934X_SRIF_DDR_DPLL3_REG);
+	writel(0x03000000, srif_regs + 0x188); /* Undocumented reg :-) */
+
+	/* Test for 40MHz XTAL */
+	reg = get_bootstrap();
+	if (reg & AR934X_BOOTSTRAP_REF_CLK_40) {
+		xtal_40 = 1;
+		cpu_srif = 0x41c00000;
+		ddr_srif = 0x41680000;
+	} else {
+		xtal_40 = 0;
+		cpu_srif = 0x29c00000;
+		ddr_srif = 0x29680000;
+	}
+
+	/* Locate CPU/DDR PLL configuration */
+	for (i = 0; i < ARRAY_SIZE(ar934x_clock_config); i++) {
+		if (cpu_mhz != ar934x_clock_config[i].cpu_freq)
+			continue;
+		if (ddr_mhz != ar934x_clock_config[i].ddr_freq)
+			continue;
+		if (ahb_mhz != ar934x_clock_config[i].ahb_freq)
+			continue;
+
+		/* Entry found */
+		pll_cfg = &ar934x_clock_config[i].cpu_pll;
+		pll_nint = pll_cfg->nint[xtal_40];
+		pll_refdiv = pll_cfg->refdiv;
+		cpu_pll =
+			(pll_nint << AR934X_PLL_CPU_CONFIG_NINT_SHIFT) |
+			(pll_refdiv << AR934X_PLL_CPU_CONFIG_REFDIV_SHIFT) |
+			(pll_cfg->range << AR934X_PLL_CPU_CONFIG_RANGE_SHIFT) |
+			(pll_cfg->outdiv << AR934X_PLL_CPU_CONFIG_OUTDIV_SHIFT);
+
+		pll_cfg = &ar934x_clock_config[i].ddr_pll;
+		pll_nint = pll_cfg->nint[xtal_40];
+		pll_refdiv = pll_cfg->refdiv;
+		ddr_pll =
+			(pll_nint << AR934X_PLL_DDR_CONFIG_NINT_SHIFT) |
+			(pll_refdiv << AR934X_PLL_DDR_CONFIG_REFDIV_SHIFT) |
+			(pll_cfg->range << AR934X_PLL_DDR_CONFIG_RANGE_SHIFT) |
+			(pll_cfg->outdiv << AR934X_PLL_DDR_CONFIG_OUTDIV_SHIFT);
+		break;
+	}
+
+	/* PLL configuration not found, hang. */
+	if (i == ARRAY_SIZE(ar934x_clock_config))
+		hang();
+
+	/* Set PLL Bypass */
+	setbits_be32(pll_regs + AR934X_PLL_CPU_DDR_CLK_CTRL_REG,
+		     AR934X_PLL_CLK_CTRL_CPU_PLL_BYPASS);
+	setbits_be32(pll_regs + AR934X_PLL_CPU_DDR_CLK_CTRL_REG,
+		     AR934X_PLL_CLK_CTRL_DDR_PLL_BYPASS);
+	setbits_be32(pll_regs + AR934X_PLL_CPU_DDR_CLK_CTRL_REG,
+		     AR934X_PLL_CLK_CTRL_AHB_PLL_BYPASS);
+
+	/* Configure CPU PLL */
+	writel(cpu_pll | AR934X_PLL_CPU_CONFIG_PLLPWD,
+	       pll_regs + AR934X_PLL_CPU_CONFIG_REG);
+	/* Configure DDR PLL */
+	writel(ddr_pll | AR934X_PLL_DDR_CONFIG_PLLPWD,
+	       pll_regs + AR934X_PLL_DDR_CONFIG_REG);
+	/* Configure PLL routing */
+	writel(AR934X_PLL_CLK_CTRL_CPU_PLL_BYPASS |
+	       AR934X_PLL_CLK_CTRL_DDR_PLL_BYPASS |
+	       AR934X_PLL_CLK_CTRL_AHB_PLL_BYPASS |
+	       (0 << AR934X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT) |
+	       (0 << AR934X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT) |
+	       (1 << AR934X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT) |
+	       AR934X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL |
+	       AR934X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL |
+	       AR934X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL,
+	       pll_regs + AR934X_PLL_CPU_DDR_CLK_CTRL_REG);
+
+	/* Configure SRIF PLLs, which is completely undocumented :-) */
+	ar934x_srif_pll_cfg(srif_regs + AR934X_SRIF_CPU_DPLL1_REG, cpu_srif);
+	ar934x_srif_pll_cfg(srif_regs + AR934X_SRIF_DDR_DPLL1_REG, ddr_srif);
+
+	/* Unset PLL Bypass */
+	clrbits_be32(pll_regs + AR934X_PLL_CPU_DDR_CLK_CTRL_REG,
+		     AR934X_PLL_CLK_CTRL_CPU_PLL_BYPASS);
+	clrbits_be32(pll_regs + AR934X_PLL_CPU_DDR_CLK_CTRL_REG,
+		     AR934X_PLL_CLK_CTRL_DDR_PLL_BYPASS);
+	clrbits_be32(pll_regs + AR934X_PLL_CPU_DDR_CLK_CTRL_REG,
+		     AR934X_PLL_CLK_CTRL_AHB_PLL_BYPASS);
+
+	/* Enable PLL dithering */
+	writel((1 << AR934X_PLL_DDR_DIT_FRAC_STEP_SHIFT) |
+	       (0xf << AR934X_PLL_DDR_DIT_UPD_CNT_SHIFT),
+	       pll_regs + AR934X_PLL_DDR_DIT_FRAC_REG);
+	writel(48 << AR934X_PLL_CPU_DIT_UPD_CNT_SHIFT,
+	       pll_regs + AR934X_PLL_CPU_DIT_FRAC_REG);
+}
+
+static u32 ar934x_get_xtal(void)
+{
+	u32 val;
+
+	val = get_bootstrap();
+	if (val & AR934X_BOOTSTRAP_REF_CLK_40)
+		return 40000000;
+	else
+		return 25000000;
+}
+
+int get_serial_clock(void)
+{
+	return ar934x_get_xtal();
+}
+
+static u32 ar934x_cpupll_to_hz(const u32 regval)
+{
+	const u32 outdiv = (regval >> AR934X_PLL_CPU_CONFIG_OUTDIV_SHIFT) &
+			   AR934X_PLL_CPU_CONFIG_OUTDIV_MASK;
+	const u32 refdiv = (regval >> AR934X_PLL_CPU_CONFIG_REFDIV_SHIFT) &
+			   AR934X_PLL_CPU_CONFIG_REFDIV_MASK;
+	const u32 nint = (regval >> AR934X_PLL_CPU_CONFIG_NINT_SHIFT) &
+			   AR934X_PLL_CPU_CONFIG_NINT_MASK;
+	const u32 nfrac = (regval >> AR934X_PLL_CPU_CONFIG_NFRAC_SHIFT) &
+			   AR934X_PLL_CPU_CONFIG_NFRAC_MASK;
+	const u32 xtal = ar934x_get_xtal();
+
+	return (xtal * (nint + (nfrac >> 9))) / (refdiv * (1 << outdiv));
+}
+
+static u32 ar934x_ddrpll_to_hz(const u32 regval)
+{
+	const u32 outdiv = (regval >> AR934X_PLL_DDR_CONFIG_OUTDIV_SHIFT) &
+			   AR934X_PLL_DDR_CONFIG_OUTDIV_MASK;
+	const u32 refdiv = (regval >> AR934X_PLL_DDR_CONFIG_REFDIV_SHIFT) &
+			   AR934X_PLL_DDR_CONFIG_REFDIV_MASK;
+	const u32 nint = (regval >> AR934X_PLL_DDR_CONFIG_NINT_SHIFT) &
+			   AR934X_PLL_DDR_CONFIG_NINT_MASK;
+	const u32 nfrac = (regval >> AR934X_PLL_DDR_CONFIG_NFRAC_SHIFT) &
+			   AR934X_PLL_DDR_CONFIG_NFRAC_MASK;
+	const u32 xtal = ar934x_get_xtal();
+
+	return (xtal * (nint + (nfrac >> 9))) / (refdiv * (1 << outdiv));
+}
+
+static void ar934x_update_clock(void)
+{
+	void __iomem *regs;
+	u32 ctrl, cpu, cpupll, ddr, ddrpll;
+	u32 cpudiv, ddrdiv, busdiv;
+	u32 cpuclk, ddrclk, busclk;
+
+	regs = map_physmem(AR71XX_PLL_BASE, AR71XX_PLL_SIZE,
+			   MAP_NOCACHE);
+
+	cpu = readl(regs + AR934X_PLL_CPU_CONFIG_REG);
+	ddr = readl(regs + AR934X_PLL_DDR_CONFIG_REG);
+	ctrl = readl(regs + AR934X_PLL_CPU_DDR_CLK_CTRL_REG);
+
+	cpupll = ar934x_cpupll_to_hz(cpu);
+	ddrpll = ar934x_ddrpll_to_hz(ddr);
+
+	if (ctrl & AR934X_PLL_CLK_CTRL_CPU_PLL_BYPASS)
+		cpuclk = ar934x_get_xtal();
+	else if (ctrl & AR934X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL)
+		cpuclk = cpupll;
+	else
+		cpuclk = ddrpll;
+
+	if (ctrl & AR934X_PLL_CLK_CTRL_DDR_PLL_BYPASS)
+		ddrclk = ar934x_get_xtal();
+	else if (ctrl & AR934X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL)
+		ddrclk = ddrpll;
+	else
+		ddrclk = cpupll;
+
+	if (ctrl & AR934X_PLL_CLK_CTRL_AHB_PLL_BYPASS)
+		busclk = ar934x_get_xtal();
+	else if (ctrl & AR934X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL)
+		busclk = ddrpll;
+	else
+		busclk = cpupll;
+
+	cpudiv = (ctrl >> AR934X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT) &
+		 AR934X_PLL_CLK_CTRL_CPU_POST_DIV_MASK;
+	ddrdiv = (ctrl >> AR934X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT) &
+		 AR934X_PLL_CLK_CTRL_DDR_POST_DIV_MASK;
+	busdiv = (ctrl >> AR934X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT) &
+		 AR934X_PLL_CLK_CTRL_AHB_POST_DIV_MASK;
+
+	gd->cpu_clk = cpuclk / (cpudiv + 1);
+	gd->mem_clk = ddrclk / (ddrdiv + 1);
+	gd->bus_clk = busclk / (busdiv + 1);
+}
+
+ulong get_bus_freq(ulong dummy)
+{
+	ar934x_update_clock();
+	return gd->bus_clk;
+}
+
+ulong get_ddr_freq(ulong dummy)
+{
+	ar934x_update_clock();
+	return gd->mem_clk;
+}
+
+int do_ar934x_showclk(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+	ar934x_update_clock();
+	printf("CPU:       %8ld MHz\n", gd->cpu_clk / 1000000);
+	printf("Memory:    %8ld MHz\n", gd->mem_clk / 1000000);
+	printf("AHB:       %8ld MHz\n", gd->bus_clk / 1000000);
+	return 0;
+}
+
+U_BOOT_CMD(
+	clocks,	CONFIG_SYS_MAXARGS, 1, do_ar934x_showclk,
+	"display clocks",
+	""
+);
diff --git a/arch/mips/mach-ath79/ar934x/cpu.c b/arch/mips/mach-ath79/ar934x/cpu.c
new file mode 100644
index 0000000..8fcdf65
--- /dev/null
+++ b/arch/mips/mach-ath79/ar934x/cpu.c
@@ -0,0 +1,10 @@
+/*
+ * Copyright (C) 2016 Marek Vasut <marex@denx.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+
+/* The lowlevel_init() is not needed on AR934x */
+void lowlevel_init(void) {}
diff --git a/arch/mips/mach-ath79/ar934x/ddr.c b/arch/mips/mach-ath79/ar934x/ddr.c
new file mode 100644
index 0000000..4621d58
--- /dev/null
+++ b/arch/mips/mach-ath79/ar934x/ddr.c
@@ -0,0 +1,163 @@
+/*
+ * Copyright (C) 2016 Marek Vasut <marex@denx.de>
+ *
+ * Based on RAM init sequence by Piotr Dymacz <pepe2k@gmail.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <mach/ar71xx_regs.h>
+#include <mach/reset.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+enum {
+	AR934X_SDRAM = 0,
+	AR934X_DDR1,
+	AR934X_DDR2,
+};
+
+struct ar934x_mem_config {
+	u32	config1;
+	u32	config2;
+	u32	mode;
+	u32	extmode;
+	u32	tap;
+};
+
+static const struct ar934x_mem_config ar934x_mem_config[] = {
+	[AR934X_SDRAM] = { 0x7fbe8cd0, 0x959f66a8, 0x33, 0, 0x1f1f },
+	[AR934X_DDR1]  = { 0x7fd48cd0, 0x99d0e6a8, 0x33, 0, 0x14 },
+	[AR934X_DDR2]  = { 0xc7d48cd0, 0x9dd0e6a8, 0x33, 0, 0x10012 },
+};
+
+void ar934x_ddr_init(const u16 cpu_mhz, const u16 ddr_mhz, const u16 ahb_mhz)
+{
+	void __iomem *ddr_regs;
+	const struct ar934x_mem_config *memcfg;
+	int memtype;
+	u32 reg, cycle, ctl;
+
+	ddr_regs = map_physmem(AR71XX_DDR_CTRL_BASE, AR71XX_DDR_CTRL_SIZE,
+			       MAP_NOCACHE);
+
+	reg = get_bootstrap();
+	if (reg & AR934X_BOOTSTRAP_SDRAM_DISABLED) {	/* DDR */
+		if (reg & AR934X_BOOTSTRAP_DDR1) {	/* DDR 1 */
+			memtype = AR934X_DDR1;
+			cycle = 0xffff;
+		} else {				/* DDR 2 */
+			memtype = AR934X_DDR2;
+			if (gd->arch.rev) {
+				ctl = BIT(6);	/* Undocumented bit :-( */
+				if (reg & BIT(3))
+					cycle = 0xff;
+				else
+					cycle = 0xffff;
+			} else {
+				/* Force DDR2/x16 configuratio on old chips. */
+				ctl = 0;
+				cycle = 0xffff;		/* DDR2 16bit */
+			}
+
+			writel(0xe59, ddr_regs + AR934X_DDR_REG_DDR2_CONFIG);
+			udelay(100);
+
+			writel(0x10, ddr_regs + AR71XX_DDR_REG_CONTROL);
+			udelay(10);
+
+			writel(0x20, ddr_regs + AR71XX_DDR_REG_CONTROL);
+			udelay(10);
+
+			writel(ctl, ddr_regs + AR934X_DDR_REG_CTL_CONF);
+			udelay(10);
+		}
+	} else {					/* SDRAM */
+		memtype = AR934X_SDRAM;
+		cycle = 0xffffffff;
+
+		writel(0x13b, ddr_regs + AR934X_DDR_REG_CTL_CONF);
+		udelay(100);
+
+		/* Undocumented register */
+		writel(0x13b, ddr_regs + 0x118);
+		udelay(100);
+	}
+
+	memcfg = &ar934x_mem_config[memtype];
+
+	writel(memcfg->config1, ddr_regs + AR71XX_DDR_REG_CONFIG);
+	udelay(100);
+
+	writel(memcfg->config2, ddr_regs + AR71XX_DDR_REG_CONFIG2);
+	udelay(100);
+
+	writel(0x8, ddr_regs + AR71XX_DDR_REG_CONTROL);
+	udelay(10);
+
+	writel(memcfg->mode | 0x100, ddr_regs + AR71XX_DDR_REG_MODE);
+	mdelay(1);
+
+	writel(0x1, ddr_regs + AR71XX_DDR_REG_CONTROL);
+	udelay(10);
+
+	if (memtype == AR934X_DDR2) {
+		writel(memcfg->mode | 0x100, ddr_regs + AR71XX_DDR_REG_EMR);
+		udelay(100);
+
+		writel(0x2, ddr_regs + AR71XX_DDR_REG_CONTROL);
+		udelay(10);
+	}
+
+	if (memtype != AR934X_SDRAM)
+		writel(0x402, ddr_regs + AR71XX_DDR_REG_EMR);
+
+	udelay(100);
+
+	writel(0x2, ddr_regs + AR71XX_DDR_REG_CONTROL);
+	udelay(10);
+
+	writel(0x8, ddr_regs + AR71XX_DDR_REG_CONTROL);
+	udelay(10);
+
+	writel(memcfg->mode, ddr_regs + AR71XX_DDR_REG_MODE);
+	udelay(100);
+
+	writel(0x1, ddr_regs + AR71XX_DDR_REG_CONTROL);
+	udelay(10);
+
+	writel(0x412c /* FIXME */, ddr_regs + AR71XX_DDR_REG_REFRESH);
+	udelay(100);
+
+	writel(memcfg->tap, ddr_regs + AR71XX_DDR_REG_TAP_CTRL0);
+	writel(memcfg->tap, ddr_regs + AR71XX_DDR_REG_TAP_CTRL1);
+
+	if (memtype != AR934X_SDRAM) {
+		if ((gd->arch.rev && (reg & BIT(3))) || !gd->arch.rev) {
+			writel(memcfg->tap,
+			       ddr_regs + AR934X_DDR_REG_TAP_CTRL2);
+			writel(memcfg->tap,
+			       ddr_regs + AR934X_DDR_REG_TAP_CTRL3);
+		}
+	}
+
+	writel(cycle, ddr_regs + AR71XX_DDR_REG_RD_CYCLE);
+	udelay(100);
+
+	writel(0x74444444, ddr_regs + AR934X_DDR_REG_BURST);
+	udelay(100);
+
+	writel(0x222, ddr_regs + AR934X_DDR_REG_BURST2);
+	udelay(100);
+
+	writel(0xfffff, ddr_regs + AR934X_DDR_REG_TIMEOUT_MAX);
+	udelay(100);
+}
+
+void ddr_tap_tuning(void)
+{
+}
diff --git a/arch/mips/mach-ath79/cpu.c b/arch/mips/mach-ath79/cpu.c
new file mode 100644
index 0000000..5756a06
--- /dev/null
+++ b/arch/mips/mach-ath79/cpu.c
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <mach/ath79.h>
+#include <mach/ar71xx_regs.h>
+
+struct ath79_soc_desc {
+	const enum ath79_soc_type soc;
+	const char *chip;
+	const int major;
+	const int minor;
+};
+
+static const struct ath79_soc_desc desc[] = {
+	{ATH79_SOC_AR7130,      "7130",
+	 REV_ID_MAJOR_AR71XX,   AR71XX_REV_ID_MINOR_AR7130},
+	{ATH79_SOC_AR7141,      "7141",
+	 REV_ID_MAJOR_AR71XX,   AR71XX_REV_ID_MINOR_AR7141},
+	{ATH79_SOC_AR7161,      "7161",
+	 REV_ID_MAJOR_AR71XX,   AR71XX_REV_ID_MINOR_AR7161},
+	{ATH79_SOC_AR7240,      "7240", REV_ID_MAJOR_AR7240,    0},
+	{ATH79_SOC_AR7241,      "7241", REV_ID_MAJOR_AR7241,    0},
+	{ATH79_SOC_AR7242,      "7242", REV_ID_MAJOR_AR7242,    0},
+	{ATH79_SOC_AR9130,      "9130",
+	 REV_ID_MAJOR_AR913X,   AR913X_REV_ID_MINOR_AR9130},
+	{ATH79_SOC_AR9132,      "9132",
+	 REV_ID_MAJOR_AR913X,   AR913X_REV_ID_MINOR_AR9132},
+	{ATH79_SOC_AR9330,      "9330", REV_ID_MAJOR_AR9330,    0},
+	{ATH79_SOC_AR9331,      "9331", REV_ID_MAJOR_AR9331,    0},
+	{ATH79_SOC_AR9341,      "9341", REV_ID_MAJOR_AR9341,    0},
+	{ATH79_SOC_AR9342,      "9342", REV_ID_MAJOR_AR9342,    0},
+	{ATH79_SOC_AR9344,      "9344", REV_ID_MAJOR_AR9344,    0},
+	{ATH79_SOC_QCA9533,     "9533", REV_ID_MAJOR_QCA9533,   0},
+	{ATH79_SOC_QCA9533,     "9533",
+	 REV_ID_MAJOR_QCA9533_V2,       0},
+	{ATH79_SOC_QCA9556,     "9556", REV_ID_MAJOR_QCA9556,   0},
+	{ATH79_SOC_QCA9558,     "9558", REV_ID_MAJOR_QCA9558,   0},
+	{ATH79_SOC_TP9343,      "9343", REV_ID_MAJOR_TP9343,    0},
+	{ATH79_SOC_QCA9561,     "9561", REV_ID_MAJOR_QCA9561,   0},
+};
+
+int arch_cpu_init(void)
+{
+	void __iomem *base;
+	enum ath79_soc_type soc = ATH79_SOC_UNKNOWN;
+	u32 id, major, minor = 0;
+	u32 rev = 0, ver = 1;
+	int i;
+
+	base = map_physmem(AR71XX_RESET_BASE, AR71XX_RESET_SIZE,
+			   MAP_NOCACHE);
+
+	id = readl(base + AR71XX_RESET_REG_REV_ID);
+	major = id & REV_ID_MAJOR_MASK;
+	switch (major) {
+	case REV_ID_MAJOR_AR71XX:
+	case REV_ID_MAJOR_AR913X:
+		minor = id & AR71XX_REV_ID_MINOR_MASK;
+		rev = id >> AR71XX_REV_ID_REVISION_SHIFT;
+		rev &= AR71XX_REV_ID_REVISION_MASK;
+		break;
+
+	case REV_ID_MAJOR_QCA9533_V2:
+		ver = 2;
+		/* drop through */
+
+	case REV_ID_MAJOR_AR9341:
+	case REV_ID_MAJOR_AR9342:
+	case REV_ID_MAJOR_AR9344:
+	case REV_ID_MAJOR_QCA9533:
+	case REV_ID_MAJOR_QCA9556:
+	case REV_ID_MAJOR_QCA9558:
+	case REV_ID_MAJOR_TP9343:
+	case REV_ID_MAJOR_QCA9561:
+		rev = id & AR71XX_REV_ID_REVISION2_MASK;
+		break;
+	default:
+		rev = id & AR71XX_REV_ID_REVISION_MASK;
+		break;
+	}
+
+	for (i = 0; i < ARRAY_SIZE(desc); i++) {
+		if ((desc[i].major == major) &&
+		    (desc[i].minor == minor)) {
+			soc = desc[i].soc;
+			break;
+		}
+	}
+
+	gd->arch.id = id;
+	gd->arch.soc = soc;
+	gd->arch.rev = rev;
+	gd->arch.ver = ver;
+	return 0;
+}
+
+int print_cpuinfo(void)
+{
+	enum ath79_soc_type soc = ATH79_SOC_UNKNOWN;
+	const char *chip = "????";
+	u32 id, rev, ver;
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(desc); i++) {
+		if (desc[i].soc == gd->arch.soc) {
+			chip = desc[i].chip;
+			soc = desc[i].soc;
+			break;
+		}
+	}
+
+	id = gd->arch.id;
+	rev = gd->arch.rev;
+	ver = gd->arch.ver;
+
+	switch (soc) {
+	case ATH79_SOC_QCA9533:
+	case ATH79_SOC_QCA9556:
+	case ATH79_SOC_QCA9558:
+	case ATH79_SOC_QCA9561:
+		printf("Qualcomm Atheros QCA%s ver %u rev %u\n", chip,
+		       ver, rev);
+		break;
+	case ATH79_SOC_TP9343:
+		printf("Qualcomm Atheros TP%s rev %u\n", chip, rev);
+		break;
+	case ATH79_SOC_UNKNOWN:
+		printf("ATH79: unknown SoC, id:0x%08x", id);
+		break;
+	default:
+		printf("Atheros AR%s rev %u\n", chip, rev);
+	}
+
+	return 0;
+}
diff --git a/arch/mips/mach-ath79/dram.c b/arch/mips/mach-ath79/dram.c
new file mode 100644
index 0000000..c29e98c
--- /dev/null
+++ b/arch/mips/mach-ath79/dram.c
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <linux/sizes.h>
+#include <asm/addrspace.h>
+#include <mach/ddr.h>
+
+phys_size_t initdram(int board_type)
+{
+	ddr_tap_tuning();
+	return get_ram_size((void *)KSEG1, SZ_256M);
+}
diff --git a/arch/mips/mach-ath79/include/mach/ar71xx_regs.h b/arch/mips/mach-ath79/include/mach/ar71xx_regs.h
new file mode 100644
index 0000000..a8e51cb
--- /dev/null
+++ b/arch/mips/mach-ath79/include/mach/ar71xx_regs.h
@@ -0,0 +1,1263 @@
+/*
+ * Atheros AR71XX/AR724X/AR913X SoC register definitions
+ *
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ * Copyright (C) 2010-2011 Jaiganesh Narayanan <jnarayanan@atheros.com>
+ * Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
+ * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#ifndef __ASM_MACH_AR71XX_REGS_H
+#define __ASM_MACH_AR71XX_REGS_H
+
+#ifndef __ASSEMBLY__
+#include <linux/bitops.h>
+#else
+#ifndef BIT
+#define BIT(nr)		(1 << (nr))
+#endif
+#endif
+
+#define AR71XX_APB_BASE					0x18000000
+#define AR71XX_GE0_BASE					0x19000000
+#define AR71XX_GE0_SIZE					0x10000
+#define AR71XX_GE1_BASE					0x1a000000
+#define AR71XX_GE1_SIZE					0x10000
+#define AR71XX_EHCI_BASE				0x1b000000
+#define AR71XX_EHCI_SIZE				0x1000
+#define AR71XX_OHCI_BASE				0x1c000000
+#define AR71XX_OHCI_SIZE				0x1000
+#define AR71XX_SPI_BASE					0x1f000000
+#define AR71XX_SPI_SIZE					0x01000000
+
+#define AR71XX_DDR_CTRL_BASE \
+	(AR71XX_APB_BASE + 0x00000000)
+#define AR71XX_DDR_CTRL_SIZE				0x100
+#define AR71XX_UART_BASE \
+	(AR71XX_APB_BASE + 0x00020000)
+#define AR71XX_UART_SIZE				0x100
+#define AR71XX_USB_CTRL_BASE \
+	(AR71XX_APB_BASE + 0x00030000)
+#define AR71XX_USB_CTRL_SIZE				0x100
+#define AR71XX_GPIO_BASE \
+	(AR71XX_APB_BASE + 0x00040000)
+#define AR71XX_GPIO_SIZE				0x100
+#define AR71XX_PLL_BASE \
+	(AR71XX_APB_BASE + 0x00050000)
+#define AR71XX_PLL_SIZE					0x100
+#define AR71XX_RESET_BASE \
+	(AR71XX_APB_BASE + 0x00060000)
+#define AR71XX_RESET_SIZE				0x100
+#define AR71XX_MII_BASE \
+	(AR71XX_APB_BASE + 0x00070000)
+#define AR71XX_MII_SIZE					0x100
+
+#define AR71XX_PCI_MEM_BASE				0x10000000
+#define AR71XX_PCI_MEM_SIZE				0x07000000
+
+#define AR71XX_PCI_WIN0_OFFS				0x10000000
+#define AR71XX_PCI_WIN1_OFFS				0x11000000
+#define AR71XX_PCI_WIN2_OFFS				0x12000000
+#define AR71XX_PCI_WIN3_OFFS				0x13000000
+#define AR71XX_PCI_WIN4_OFFS				0x14000000
+#define AR71XX_PCI_WIN5_OFFS				0x15000000
+#define AR71XX_PCI_WIN6_OFFS				0x16000000
+#define AR71XX_PCI_WIN7_OFFS				0x07000000
+
+#define AR71XX_PCI_CFG_BASE \
+	(AR71XX_PCI_MEM_BASE + AR71XX_PCI_WIN7_OFFS + 0x10000)
+#define AR71XX_PCI_CFG_SIZE				0x100
+
+#define AR7240_USB_CTRL_BASE \
+	(AR71XX_APB_BASE + 0x00030000)
+#define AR7240_USB_CTRL_SIZE				0x100
+#define AR7240_OHCI_BASE				0x1b000000
+#define AR7240_OHCI_SIZE				0x1000
+
+#define AR724X_PCI_MEM_BASE				0x10000000
+#define AR724X_PCI_MEM_SIZE				0x04000000
+
+#define AR724X_PCI_CFG_BASE				0x14000000
+#define AR724X_PCI_CFG_SIZE				0x1000
+#define AR724X_PCI_CRP_BASE \
+	(AR71XX_APB_BASE + 0x000c0000)
+#define AR724X_PCI_CRP_SIZE				0x1000
+#define AR724X_PCI_CTRL_BASE \
+	(AR71XX_APB_BASE + 0x000f0000)
+#define AR724X_PCI_CTRL_SIZE				0x100
+
+#define AR724X_EHCI_BASE				0x1b000000
+#define AR724X_EHCI_SIZE				0x1000
+
+#define AR913X_EHCI_BASE				0x1b000000
+#define AR913X_EHCI_SIZE				0x1000
+#define AR913X_WMAC_BASE \
+	(AR71XX_APB_BASE + 0x000C0000)
+#define AR913X_WMAC_SIZE				0x30000
+
+#define AR933X_UART_BASE \
+	(AR71XX_APB_BASE + 0x00020000)
+#define AR933X_UART_SIZE				0x14
+#define AR933X_GMAC_BASE \
+	(AR71XX_APB_BASE + 0x00070000)
+#define AR933X_GMAC_SIZE				0x04
+#define AR933X_WMAC_BASE \
+	(AR71XX_APB_BASE + 0x00100000)
+#define AR933X_WMAC_SIZE				0x20000
+#define AR933X_RTC_BASE \
+	(AR71XX_APB_BASE + 0x00107000)
+#define AR933X_RTC_SIZE					0x1000
+#define AR933X_EHCI_BASE				0x1b000000
+#define AR933X_EHCI_SIZE				0x1000
+#define AR933X_SRIF_BASE \
+	(AR71XX_APB_BASE + 0x00116000)
+#define AR933X_SRIF_SIZE				0x1000
+
+#define AR934X_GMAC_BASE \
+	(AR71XX_APB_BASE + 0x00070000)
+#define AR934X_GMAC_SIZE				0x14
+#define AR934X_WMAC_BASE \
+	(AR71XX_APB_BASE + 0x00100000)
+#define AR934X_WMAC_SIZE				0x20000
+#define AR934X_EHCI_BASE				0x1b000000
+#define AR934X_EHCI_SIZE				0x200
+#define AR934X_NFC_BASE					0x1b000200
+#define AR934X_NFC_SIZE					0xb8
+#define AR934X_SRIF_BASE \
+	(AR71XX_APB_BASE + 0x00116000)
+#define AR934X_SRIF_SIZE				0x1000
+
+#define QCA953X_GMAC_BASE \
+	(AR71XX_APB_BASE + 0x00070000)
+#define QCA953X_GMAC_SIZE				0x14
+#define QCA953X_WMAC_BASE \
+	(AR71XX_APB_BASE + 0x00100000)
+#define QCA953X_WMAC_SIZE				0x20000
+#define QCA953X_RTC_BASE \
+	(AR71XX_APB_BASE + 0x00107000)
+#define QCA953X_RTC_SIZE				0x1000
+#define QCA953X_EHCI_BASE				0x1b000000
+#define QCA953X_EHCI_SIZE				0x200
+#define QCA953X_SRIF_BASE \
+	(AR71XX_APB_BASE + 0x00116000)
+#define QCA953X_SRIF_SIZE				0x1000
+
+#define QCA953X_PCI_CFG_BASE0				0x14000000
+#define QCA953X_PCI_CTRL_BASE0 \
+	(AR71XX_APB_BASE + 0x000f0000)
+#define QCA953X_PCI_CRP_BASE0 \
+	(AR71XX_APB_BASE + 0x000c0000)
+#define QCA953X_PCI_MEM_BASE0				0x10000000
+#define QCA953X_PCI_MEM_SIZE				0x02000000
+
+#define QCA955X_PCI_MEM_BASE0				0x10000000
+#define QCA955X_PCI_MEM_BASE1				0x12000000
+#define QCA955X_PCI_MEM_SIZE				0x02000000
+#define QCA955X_PCI_CFG_BASE0				0x14000000
+#define QCA955X_PCI_CFG_BASE1				0x16000000
+#define QCA955X_PCI_CFG_SIZE				0x1000
+#define QCA955X_PCI_CRP_BASE0 \
+	(AR71XX_APB_BASE + 0x000c0000)
+#define QCA955X_PCI_CRP_BASE1 \
+	(AR71XX_APB_BASE + 0x00250000)
+#define QCA955X_PCI_CRP_SIZE				0x1000
+#define QCA955X_PCI_CTRL_BASE0 \
+	(AR71XX_APB_BASE + 0x000f0000)
+#define QCA955X_PCI_CTRL_BASE1 \
+	(AR71XX_APB_BASE + 0x00280000)
+#define QCA955X_PCI_CTRL_SIZE				0x100
+
+#define QCA955X_GMAC_BASE \
+	(AR71XX_APB_BASE + 0x00070000)
+#define QCA955X_GMAC_SIZE				0x40
+#define QCA955X_WMAC_BASE \
+	(AR71XX_APB_BASE + 0x00100000)
+#define QCA955X_WMAC_SIZE				0x20000
+#define QCA955X_EHCI0_BASE				0x1b000000
+#define QCA955X_EHCI1_BASE				0x1b400000
+#define QCA955X_EHCI_SIZE				0x1000
+#define QCA955X_NFC_BASE				0x1b800200
+#define QCA955X_NFC_SIZE				0xb8
+
+#define QCA956X_PCI_MEM_BASE1				0x12000000
+#define QCA956X_PCI_MEM_SIZE				0x02000000
+#define QCA956X_PCI_CFG_BASE1				0x16000000
+#define QCA956X_PCI_CFG_SIZE				0x1000
+#define QCA956X_PCI_CRP_BASE1 \
+	(AR71XX_APB_BASE + 0x00250000)
+#define QCA956X_PCI_CRP_SIZE				0x1000
+#define QCA956X_PCI_CTRL_BASE1 \
+	(AR71XX_APB_BASE + 0x00280000)
+#define QCA956X_PCI_CTRL_SIZE				0x100
+
+#define QCA956X_WMAC_BASE \
+	(AR71XX_APB_BASE + 0x00100000)
+#define QCA956X_WMAC_SIZE				0x20000
+#define QCA956X_EHCI0_BASE				0x1b000000
+#define QCA956X_EHCI1_BASE				0x1b400000
+#define QCA956X_EHCI_SIZE				0x200
+#define QCA956X_GMAC_BASE \
+	(AR71XX_APB_BASE + 0x00070000)
+#define QCA956X_GMAC_SIZE				0x64
+
+/*
+ * DDR_CTRL block
+ */
+#define AR71XX_DDR_REG_CONFIG				0x00
+#define AR71XX_DDR_REG_CONFIG2				0x04
+#define AR71XX_DDR_REG_MODE				0x08
+#define AR71XX_DDR_REG_EMR				0x0c
+#define AR71XX_DDR_REG_CONTROL				0x10
+#define AR71XX_DDR_REG_REFRESH				0x14
+#define AR71XX_DDR_REG_RD_CYCLE				0x18
+#define AR71XX_DDR_REG_TAP_CTRL0			0x1c
+#define AR71XX_DDR_REG_TAP_CTRL1			0x20
+
+#define AR71XX_DDR_REG_PCI_WIN0				0x7c
+#define AR71XX_DDR_REG_PCI_WIN1				0x80
+#define AR71XX_DDR_REG_PCI_WIN2				0x84
+#define AR71XX_DDR_REG_PCI_WIN3				0x88
+#define AR71XX_DDR_REG_PCI_WIN4				0x8c
+#define AR71XX_DDR_REG_PCI_WIN5				0x90
+#define AR71XX_DDR_REG_PCI_WIN6				0x94
+#define AR71XX_DDR_REG_PCI_WIN7				0x98
+#define AR71XX_DDR_REG_FLUSH_GE0			0x9c
+#define AR71XX_DDR_REG_FLUSH_GE1			0xa0
+#define AR71XX_DDR_REG_FLUSH_USB			0xa4
+#define AR71XX_DDR_REG_FLUSH_PCI			0xa8
+
+#define AR724X_DDR_REG_FLUSH_GE0			0x7c
+#define AR724X_DDR_REG_FLUSH_GE1			0x80
+#define AR724X_DDR_REG_FLUSH_USB			0x84
+#define AR724X_DDR_REG_FLUSH_PCIE			0x88
+
+#define AR913X_DDR_REG_FLUSH_GE0			0x7c
+#define AR913X_DDR_REG_FLUSH_GE1			0x80
+#define AR913X_DDR_REG_FLUSH_USB			0x84
+#define AR913X_DDR_REG_FLUSH_WMAC			0x88
+
+#define AR933X_DDR_REG_FLUSH_GE0			0x7c
+#define AR933X_DDR_REG_FLUSH_GE1			0x80
+#define AR933X_DDR_REG_FLUSH_USB			0x84
+#define AR933X_DDR_REG_FLUSH_WMAC			0x88
+#define AR933X_DDR_REG_DDR2_CONFIG			0x8c
+#define AR933X_DDR_REG_EMR2				0x90
+#define AR933X_DDR_REG_EMR3				0x94
+#define AR933X_DDR_REG_BURST				0x98
+#define AR933X_DDR_REG_TIMEOUT_MAX			0x9c
+#define AR933X_DDR_REG_TIMEOUT_CNT			0x9c
+#define AR933X_DDR_REG_TIMEOUT_ADDR			0x9c
+
+#define AR934X_DDR_REG_TAP_CTRL2			0x24
+#define AR934X_DDR_REG_TAP_CTRL3			0x28
+#define AR934X_DDR_REG_FLUSH_GE0			0x9c
+#define AR934X_DDR_REG_FLUSH_GE1			0xa0
+#define AR934X_DDR_REG_FLUSH_USB			0xa4
+#define AR934X_DDR_REG_FLUSH_PCIE			0xa8
+#define AR934X_DDR_REG_FLUSH_WMAC			0xac
+#define AR934X_DDR_REG_FLUSH_SRC1			0xb0
+#define AR934X_DDR_REG_FLUSH_SRC2			0xb4
+#define AR934X_DDR_REG_DDR2_CONFIG			0xb8
+#define AR934X_DDR_REG_EMR2				0xbc
+#define AR934X_DDR_REG_EMR3				0xc0
+#define AR934X_DDR_REG_BURST				0xc4
+#define AR934X_DDR_REG_BURST2				0xc8
+#define AR934X_DDR_REG_TIMEOUT_MAX			0xcc
+#define AR934X_DDR_REG_CTL_CONF				0x108
+
+#define QCA953X_DDR_REG_FLUSH_GE0			0x9c
+#define QCA953X_DDR_REG_FLUSH_GE1			0xa0
+#define QCA953X_DDR_REG_FLUSH_USB			0xa4
+#define QCA953X_DDR_REG_FLUSH_PCIE			0xa8
+#define QCA953X_DDR_REG_FLUSH_WMAC			0xac
+#define QCA953X_DDR_REG_DDR2_CONFIG			0xb8
+#define QCA953X_DDR_REG_BURST				0xc4
+#define QCA953X_DDR_REG_BURST2				0xc8
+#define QCA953X_DDR_REG_TIMEOUT_MAX			0xcc
+#define QCA953X_DDR_REG_CTL_CONF			0x108
+#define QCA953X_DDR_REG_CONFIG3				0x15c
+
+/*
+ * PLL block
+ */
+#define AR71XX_PLL_REG_CPU_CONFIG			0x00
+#define AR71XX_PLL_REG_SEC_CONFIG			0x04
+#define AR71XX_PLL_REG_ETH0_INT_CLOCK			0x10
+#define AR71XX_PLL_REG_ETH1_INT_CLOCK			0x14
+
+#define AR71XX_PLL_DIV_SHIFT				3
+#define AR71XX_PLL_DIV_MASK				0x1f
+#define AR71XX_CPU_DIV_SHIFT				16
+#define AR71XX_CPU_DIV_MASK				0x3
+#define AR71XX_DDR_DIV_SHIFT				18
+#define AR71XX_DDR_DIV_MASK				0x3
+#define AR71XX_AHB_DIV_SHIFT				20
+#define AR71XX_AHB_DIV_MASK				0x7
+
+#define AR71XX_ETH0_PLL_SHIFT				17
+#define AR71XX_ETH1_PLL_SHIFT				19
+
+#define AR724X_PLL_REG_CPU_CONFIG			0x00
+#define AR724X_PLL_REG_PCIE_CONFIG			0x18
+
+#define AR724X_PLL_DIV_SHIFT				0
+#define AR724X_PLL_DIV_MASK				0x3ff
+#define AR724X_PLL_REF_DIV_SHIFT			10
+#define AR724X_PLL_REF_DIV_MASK				0xf
+#define AR724X_AHB_DIV_SHIFT				19
+#define AR724X_AHB_DIV_MASK				0x1
+#define AR724X_DDR_DIV_SHIFT				22
+#define AR724X_DDR_DIV_MASK				0x3
+
+#define AR7242_PLL_REG_ETH0_INT_CLOCK			0x2c
+
+#define AR913X_PLL_REG_CPU_CONFIG			0x00
+#define AR913X_PLL_REG_ETH_CONFIG			0x04
+#define AR913X_PLL_REG_ETH0_INT_CLOCK			0x14
+#define AR913X_PLL_REG_ETH1_INT_CLOCK			0x18
+
+#define AR913X_PLL_DIV_SHIFT				0
+#define AR913X_PLL_DIV_MASK				0x3ff
+#define AR913X_DDR_DIV_SHIFT				22
+#define AR913X_DDR_DIV_MASK				0x3
+#define AR913X_AHB_DIV_SHIFT				19
+#define AR913X_AHB_DIV_MASK				0x1
+
+#define AR913X_ETH0_PLL_SHIFT				20
+#define AR913X_ETH1_PLL_SHIFT				22
+
+#define AR933X_PLL_CPU_CONFIG_REG			0x00
+#define AR933X_PLL_CLK_CTRL_REG				0x08
+#define AR933X_PLL_DITHER_FRAC_REG			0x10
+
+#define AR933X_PLL_CPU_CONFIG_NINT_SHIFT		10
+#define AR933X_PLL_CPU_CONFIG_NINT_MASK			0x3f
+#define AR933X_PLL_CPU_CONFIG_REFDIV_SHIFT		16
+#define AR933X_PLL_CPU_CONFIG_REFDIV_MASK		0x1f
+#define AR933X_PLL_CPU_CONFIG_OUTDIV_SHIFT		23
+#define AR933X_PLL_CPU_CONFIG_OUTDIV_MASK		0x7
+
+#define AR933X_PLL_CLK_CTRL_BYPASS			BIT(2)
+#define AR933X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT		5
+#define AR933X_PLL_CLK_CTRL_CPU_POST_DIV_MASK		0x3
+#define AR933X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT		10
+#define AR933X_PLL_CLK_CTRL_DDR_POST_DIV_MASK		0x3
+#define AR933X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT		15
+#define AR933X_PLL_CLK_CTRL_AHB_POST_DIV_MASK		0x7
+
+#define AR934X_PLL_CPU_CONFIG_REG			0x00
+#define AR934X_PLL_DDR_CONFIG_REG			0x04
+#define AR934X_PLL_CPU_DDR_CLK_CTRL_REG			0x08
+#define AR934X_PLL_SWITCH_CLOCK_CONTROL_REG		0x24
+#define AR934X_PLL_ETH_XMII_CONTROL_REG			0x2c
+#define AR934X_PLL_DDR_DIT_FRAC_REG			0x44
+#define AR934X_PLL_CPU_DIT_FRAC_REG			0x48
+
+#define AR934X_PLL_CPU_CONFIG_NFRAC_SHIFT		0
+#define AR934X_PLL_CPU_CONFIG_NFRAC_MASK		0x3f
+#define AR934X_PLL_CPU_CONFIG_NINT_SHIFT		6
+#define AR934X_PLL_CPU_CONFIG_NINT_MASK			0x3f
+#define AR934X_PLL_CPU_CONFIG_REFDIV_SHIFT		12
+#define AR934X_PLL_CPU_CONFIG_REFDIV_MASK		0x1f
+#define AR934X_PLL_CPU_CONFIG_RANGE_SHIFT		17
+#define AR934X_PLL_CPU_CONFIG_RANGE_MASK		0x3
+#define AR934X_PLL_CPU_CONFIG_OUTDIV_SHIFT		19
+#define AR934X_PLL_CPU_CONFIG_OUTDIV_MASK		0x3
+#define AR934X_PLL_CPU_CONFIG_PLLPWD			BIT(30)
+#define AR934X_PLL_CPU_CONFIG_UPDATING			BIT(31)
+
+#define AR934X_PLL_DDR_CONFIG_NFRAC_SHIFT		0
+#define AR934X_PLL_DDR_CONFIG_NFRAC_MASK		0x3ff
+#define AR934X_PLL_DDR_CONFIG_NINT_SHIFT		10
+#define AR934X_PLL_DDR_CONFIG_NINT_MASK			0x3f
+#define AR934X_PLL_DDR_CONFIG_REFDIV_SHIFT		16
+#define AR934X_PLL_DDR_CONFIG_REFDIV_MASK		0x1f
+#define AR934X_PLL_DDR_CONFIG_RANGE_SHIFT		21
+#define AR934X_PLL_DDR_CONFIG_RANGE_MASK		0x3
+#define AR934X_PLL_DDR_CONFIG_OUTDIV_SHIFT		23
+#define AR934X_PLL_DDR_CONFIG_OUTDIV_MASK		0x7
+#define AR934X_PLL_DDR_CONFIG_PLLPWD			BIT(30)
+#define AR934X_PLL_DDR_CONFIG_UPDATING			BIT(31)
+
+#define AR934X_PLL_CLK_CTRL_CPU_PLL_BYPASS		BIT(2)
+#define AR934X_PLL_CLK_CTRL_DDR_PLL_BYPASS		BIT(3)
+#define AR934X_PLL_CLK_CTRL_AHB_PLL_BYPASS		BIT(4)
+#define AR934X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT		5
+#define AR934X_PLL_CLK_CTRL_CPU_POST_DIV_MASK		0x1f
+#define AR934X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT		10
+#define AR934X_PLL_CLK_CTRL_DDR_POST_DIV_MASK		0x1f
+#define AR934X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT		15
+#define AR934X_PLL_CLK_CTRL_AHB_POST_DIV_MASK		0x1f
+#define AR934X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL		BIT(20)
+#define AR934X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL		BIT(21)
+#define AR934X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL		BIT(24)
+
+#define AR934X_PLL_SWITCH_CLK_CTRL_MDIO_CLK_SEL		BIT(6)
+
+#define AR934X_PLL_DDR_DIT_FRAC_MAX_SHIFT		0
+#define AR934X_PLL_DDR_DIT_FRAC_MAX_MASK		0x3ff
+#define AR934X_PLL_DDR_DIT_FRAC_MIN_SHIFT		10
+#define AR934X_PLL_DDR_DIT_FRAC_MIN_MASK		0x3ff
+#define AR934X_PLL_DDR_DIT_FRAC_STEP_SHIFT		20
+#define AR934X_PLL_DDR_DIT_FRAC_STEP_MASK		0x3f
+#define AR934X_PLL_DDR_DIT_UPD_CNT_SHIFT		27
+#define AR934X_PLL_DDR_DIT_UPD_CNT_MASK			0x3f
+#define AR934X_PLL_DDR_DIT_DITHER_EN			BIT(31)
+
+#define AR934X_PLL_CPU_DIT_FRAC_MAX_SHIFT		0
+#define AR934X_PLL_CPU_DIT_FRAC_MAX_MASK		0x3f
+#define AR934X_PLL_CPU_DIT_FRAC_MIN_SHIFT		6
+#define AR934X_PLL_CPU_DIT_FRAC_MIN_MASK		0x3f
+#define AR934X_PLL_CPU_DIT_FRAC_STEP_SHIFT		12
+#define AR934X_PLL_CPU_DIT_FRAC_STEP_MASK		0x3f
+#define AR934X_PLL_CPU_DIT_UPD_CNT_SHIFT		18
+#define AR934X_PLL_CPU_DIT_UPD_CNT_MASK			0x3f
+#define AR934X_PLL_CPU_DIT_DITHER_EN			BIT(31)
+
+#define QCA953X_PLL_CPU_CONFIG_REG			0x00
+#define QCA953X_PLL_DDR_CONFIG_REG			0x04
+#define QCA953X_PLL_CLK_CTRL_REG			0x08
+#define QCA953X_PLL_SWITCH_CLOCK_CONTROL_REG		0x24
+#define QCA953X_PLL_ETH_XMII_CONTROL_REG		0x2c
+#define QCA953X_PLL_DDR_DIT_FRAC_REG			0x44
+#define QCA953X_PLL_CPU_DIT_FRAC_REG			0x48
+
+#define QCA953X_PLL_CPU_CONFIG_NFRAC_SHIFT		0
+#define QCA953X_PLL_CPU_CONFIG_NFRAC_MASK		0x3f
+#define QCA953X_PLL_CPU_CONFIG_NINT_SHIFT		6
+#define QCA953X_PLL_CPU_CONFIG_NINT_MASK		0x3f
+#define QCA953X_PLL_CPU_CONFIG_REFDIV_SHIFT		12
+#define QCA953X_PLL_CPU_CONFIG_REFDIV_MASK		0x1f
+#define QCA953X_PLL_CPU_CONFIG_OUTDIV_SHIFT		19
+#define QCA953X_PLL_CPU_CONFIG_OUTDIV_MASK		0x7
+
+#define QCA953X_PLL_DDR_CONFIG_NFRAC_SHIFT		0
+#define QCA953X_PLL_DDR_CONFIG_NFRAC_MASK		0x3ff
+#define QCA953X_PLL_DDR_CONFIG_NINT_SHIFT		10
+#define QCA953X_PLL_DDR_CONFIG_NINT_MASK		0x3f
+#define QCA953X_PLL_DDR_CONFIG_REFDIV_SHIFT		16
+#define QCA953X_PLL_DDR_CONFIG_REFDIV_MASK		0x1f
+#define QCA953X_PLL_DDR_CONFIG_OUTDIV_SHIFT		23
+#define QCA953X_PLL_DDR_CONFIG_OUTDIV_MASK		0x7
+
+#define QCA953X_PLL_CONFIG_PWD		BIT(30)
+
+#define QCA953X_PLL_CLK_CTRL_CPU_PLL_BYPASS		BIT(2)
+#define QCA953X_PLL_CLK_CTRL_DDR_PLL_BYPASS		BIT(3)
+#define QCA953X_PLL_CLK_CTRL_AHB_PLL_BYPASS		BIT(4)
+#define QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT		5
+#define QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_MASK		0x1f
+#define QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT		10
+#define QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_MASK		0x1f
+#define QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT		15
+#define QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_MASK		0x1f
+#define QCA953X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL		BIT(20)
+#define QCA953X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL		BIT(21)
+#define QCA953X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL		BIT(24)
+
+#define QCA953X_PLL_CPU_DIT_FRAC_MAX_SHIFT		0
+#define QCA953X_PLL_CPU_DIT_FRAC_MAX_MASK		0x3f
+#define QCA953X_PLL_CPU_DIT_FRAC_MIN_SHIFT		6
+#define QCA953X_PLL_CPU_DIT_FRAC_MIN_MASK		0x3f
+#define QCA953X_PLL_CPU_DIT_FRAC_STEP_SHIFT		12
+#define QCA953X_PLL_CPU_DIT_FRAC_STEP_MASK		0x3f
+#define QCA953X_PLL_CPU_DIT_UPD_CNT_SHIFT		18
+#define QCA953X_PLL_CPU_DIT_UPD_CNT_MASK		0x3f
+
+#define QCA953X_PLL_DDR_DIT_FRAC_MAX_SHIFT		0
+#define QCA953X_PLL_DDR_DIT_FRAC_MAX_MASK		0x3ff
+#define QCA953X_PLL_DDR_DIT_FRAC_MIN_SHIFT		9
+#define QCA953X_PLL_DDR_DIT_FRAC_MIN_MASK		0x3ff
+#define QCA953X_PLL_DDR_DIT_FRAC_STEP_SHIFT		20
+#define QCA953X_PLL_DDR_DIT_FRAC_STEP_MASK		0x3f
+#define QCA953X_PLL_DDR_DIT_UPD_CNT_SHIFT		27
+#define QCA953X_PLL_DDR_DIT_UPD_CNT_MASK		0x3f
+
+#define QCA953X_PLL_DIT_FRAC_EN				BIT(31)
+
+#define QCA955X_PLL_CPU_CONFIG_REG			0x00
+#define QCA955X_PLL_DDR_CONFIG_REG			0x04
+#define QCA955X_PLL_CLK_CTRL_REG			0x08
+#define QCA955X_PLL_ETH_XMII_CONTROL_REG		0x28
+#define QCA955X_PLL_ETH_SGMII_CONTROL_REG		0x48
+
+#define QCA955X_PLL_CPU_CONFIG_NFRAC_SHIFT		0
+#define QCA955X_PLL_CPU_CONFIG_NFRAC_MASK		0x3f
+#define QCA955X_PLL_CPU_CONFIG_NINT_SHIFT		6
+#define QCA955X_PLL_CPU_CONFIG_NINT_MASK		0x3f
+#define QCA955X_PLL_CPU_CONFIG_REFDIV_SHIFT		12
+#define QCA955X_PLL_CPU_CONFIG_REFDIV_MASK		0x1f
+#define QCA955X_PLL_CPU_CONFIG_OUTDIV_SHIFT		19
+#define QCA955X_PLL_CPU_CONFIG_OUTDIV_MASK		0x3
+
+#define QCA955X_PLL_DDR_CONFIG_NFRAC_SHIFT		0
+#define QCA955X_PLL_DDR_CONFIG_NFRAC_MASK		0x3ff
+#define QCA955X_PLL_DDR_CONFIG_NINT_SHIFT		10
+#define QCA955X_PLL_DDR_CONFIG_NINT_MASK		0x3f
+#define QCA955X_PLL_DDR_CONFIG_REFDIV_SHIFT		16
+#define QCA955X_PLL_DDR_CONFIG_REFDIV_MASK		0x1f
+#define QCA955X_PLL_DDR_CONFIG_OUTDIV_SHIFT		23
+#define QCA955X_PLL_DDR_CONFIG_OUTDIV_MASK		0x7
+
+#define QCA955X_PLL_CLK_CTRL_CPU_PLL_BYPASS		BIT(2)
+#define QCA955X_PLL_CLK_CTRL_DDR_PLL_BYPASS		BIT(3)
+#define QCA955X_PLL_CLK_CTRL_AHB_PLL_BYPASS		BIT(4)
+#define QCA955X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT		5
+#define QCA955X_PLL_CLK_CTRL_CPU_POST_DIV_MASK		0x1f
+#define QCA955X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT		10
+#define QCA955X_PLL_CLK_CTRL_DDR_POST_DIV_MASK		0x1f
+#define QCA955X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT		15
+#define QCA955X_PLL_CLK_CTRL_AHB_POST_DIV_MASK		0x1f
+#define QCA955X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL		BIT(20)
+#define QCA955X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL		BIT(21)
+#define QCA955X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL		BIT(24)
+
+#define QCA956X_PLL_CPU_CONFIG_REG			0x00
+#define QCA956X_PLL_CPU_CONFIG1_REG			0x04
+#define QCA956X_PLL_DDR_CONFIG_REG			0x08
+#define QCA956X_PLL_DDR_CONFIG1_REG			0x0c
+#define QCA956X_PLL_CLK_CTRL_REG			0x10
+
+#define QCA956X_PLL_CPU_CONFIG_REFDIV_SHIFT		12
+#define QCA956X_PLL_CPU_CONFIG_REFDIV_MASK		0x1f
+#define QCA956X_PLL_CPU_CONFIG_OUTDIV_SHIFT		19
+#define QCA956X_PLL_CPU_CONFIG_OUTDIV_MASK		0x7
+
+#define QCA956X_PLL_CPU_CONFIG1_NFRAC_L_SHIFT		0
+#define QCA956X_PLL_CPU_CONFIG1_NFRAC_L_MASK		0x1f
+#define QCA956X_PLL_CPU_CONFIG1_NFRAC_H_SHIFT		5
+#define QCA956X_PLL_CPU_CONFIG1_NFRAC_H_MASK		0x3fff
+#define QCA956X_PLL_CPU_CONFIG1_NINT_SHIFT		18
+#define QCA956X_PLL_CPU_CONFIG1_NINT_MASK		0x1ff
+
+#define QCA956X_PLL_DDR_CONFIG_REFDIV_SHIFT		16
+#define QCA956X_PLL_DDR_CONFIG_REFDIV_MASK		0x1f
+#define QCA956X_PLL_DDR_CONFIG_OUTDIV_SHIFT		23
+#define QCA956X_PLL_DDR_CONFIG_OUTDIV_MASK		0x7
+
+#define QCA956X_PLL_DDR_CONFIG1_NFRAC_L_SHIFT		0
+#define QCA956X_PLL_DDR_CONFIG1_NFRAC_L_MASK		0x1f
+#define QCA956X_PLL_DDR_CONFIG1_NFRAC_H_SHIFT		5
+#define QCA956X_PLL_DDR_CONFIG1_NFRAC_H_MASK		0x3fff
+#define QCA956X_PLL_DDR_CONFIG1_NINT_SHIFT		18
+#define QCA956X_PLL_DDR_CONFIG1_NINT_MASK		0x1ff
+
+#define QCA956X_PLL_CLK_CTRL_CPU_PLL_BYPASS		BIT(2)
+#define QCA956X_PLL_CLK_CTRL_DDR_PLL_BYPASS		BIT(3)
+#define QCA956X_PLL_CLK_CTRL_AHB_PLL_BYPASS		BIT(4)
+#define QCA956X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT		5
+#define QCA956X_PLL_CLK_CTRL_CPU_POST_DIV_MASK		0x1f
+#define QCA956X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT		10
+#define QCA956X_PLL_CLK_CTRL_DDR_POST_DIV_MASK		0x1f
+#define QCA956X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT		15
+#define QCA956X_PLL_CLK_CTRL_AHB_POST_DIV_MASK		0x1f
+#define QCA956X_PLL_CLK_CTRL_CPU_DDRCLK_FROM_DDRPLL	BIT(20)
+#define QCA956X_PLL_CLK_CTRL_CPU_DDRCLK_FROM_CPUPLL	BIT(21)
+#define QCA956X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL		BIT(24)
+
+/*
+ * USB_CONFIG block
+ */
+#define AR71XX_USB_CTRL_REG_FLADJ			0x00
+#define AR71XX_USB_CTRL_REG_CONFIG			0x04
+
+/*
+ * RESET block
+ */
+#define AR71XX_RESET_REG_TIMER				0x00
+#define AR71XX_RESET_REG_TIMER_RELOAD			0x04
+#define AR71XX_RESET_REG_WDOG_CTRL			0x08
+#define AR71XX_RESET_REG_WDOG				0x0c
+#define AR71XX_RESET_REG_MISC_INT_STATUS		0x10
+#define AR71XX_RESET_REG_MISC_INT_ENABLE		0x14
+#define AR71XX_RESET_REG_PCI_INT_STATUS			0x18
+#define AR71XX_RESET_REG_PCI_INT_ENABLE			0x1c
+#define AR71XX_RESET_REG_GLOBAL_INT_STATUS		0x20
+#define AR71XX_RESET_REG_RESET_MODULE			0x24
+#define AR71XX_RESET_REG_PERFC_CTRL			0x2c
+#define AR71XX_RESET_REG_PERFC0				0x30
+#define AR71XX_RESET_REG_PERFC1				0x34
+#define AR71XX_RESET_REG_REV_ID				0x90
+
+#define AR913X_RESET_REG_GLOBAL_INT_STATUS		0x18
+#define AR913X_RESET_REG_RESET_MODULE			0x1c
+#define AR913X_RESET_REG_PERF_CTRL			0x20
+#define AR913X_RESET_REG_PERFC0				0x24
+#define AR913X_RESET_REG_PERFC1				0x28
+
+#define AR724X_RESET_REG_RESET_MODULE			0x1c
+
+#define AR933X_RESET_REG_RESET_MODULE			0x1c
+#define AR933X_RESET_REG_BOOTSTRAP			0xac
+
+#define AR934X_RESET_REG_RESET_MODULE			0x1c
+#define AR934X_RESET_REG_BOOTSTRAP			0xb0
+#define AR934X_RESET_REG_PCIE_WMAC_INT_STATUS		0xac
+
+#define QCA953X_RESET_REG_RESET_MODULE			0x1c
+#define QCA953X_RESET_REG_BOOTSTRAP			0xb0
+#define QCA953X_RESET_REG_PCIE_WMAC_INT_STATUS		0xac
+
+#define QCA955X_RESET_REG_RESET_MODULE			0x1c
+#define QCA955X_RESET_REG_BOOTSTRAP			0xb0
+#define QCA955X_RESET_REG_EXT_INT_STATUS		0xac
+
+#define QCA956X_RESET_REG_RESET_MODULE			0x1c
+#define QCA956X_RESET_REG_BOOTSTRAP			0xb0
+#define QCA956X_RESET_REG_EXT_INT_STATUS		0xac
+
+#define MISC_INT_MIPS_SI_TIMERINT_MASK			BIT(28)
+#define MISC_INT_ETHSW					BIT(12)
+#define MISC_INT_TIMER4					BIT(10)
+#define MISC_INT_TIMER3					BIT(9)
+#define MISC_INT_TIMER2					BIT(8)
+#define MISC_INT_DMA					BIT(7)
+#define MISC_INT_OHCI					BIT(6)
+#define MISC_INT_PERFC					BIT(5)
+#define MISC_INT_WDOG					BIT(4)
+#define MISC_INT_UART					BIT(3)
+#define MISC_INT_GPIO					BIT(2)
+#define MISC_INT_ERROR					BIT(1)
+#define MISC_INT_TIMER					BIT(0)
+
+#define AR71XX_RESET_EXTERNAL				BIT(28)
+#define AR71XX_RESET_FULL_CHIP				BIT(24)
+#define AR71XX_RESET_CPU_NMI				BIT(21)
+#define AR71XX_RESET_CPU_COLD				BIT(20)
+#define AR71XX_RESET_DMA				BIT(19)
+#define AR71XX_RESET_SLIC				BIT(18)
+#define AR71XX_RESET_STEREO				BIT(17)
+#define AR71XX_RESET_DDR				BIT(16)
+#define AR71XX_RESET_GE1_MAC				BIT(13)
+#define AR71XX_RESET_GE1_PHY				BIT(12)
+#define AR71XX_RESET_USBSUS_OVERRIDE			BIT(10)
+#define AR71XX_RESET_GE0_MAC				BIT(9)
+#define AR71XX_RESET_GE0_PHY				BIT(8)
+#define AR71XX_RESET_USB_OHCI_DLL			BIT(6)
+#define AR71XX_RESET_USB_HOST				BIT(5)
+#define AR71XX_RESET_USB_PHY				BIT(4)
+#define AR71XX_RESET_PCI_BUS				BIT(1)
+#define AR71XX_RESET_PCI_CORE				BIT(0)
+
+#define AR7240_RESET_USB_HOST				BIT(5)
+#define AR7240_RESET_OHCI_DLL				BIT(3)
+
+#define AR724X_RESET_GE1_MDIO				BIT(23)
+#define AR724X_RESET_GE0_MDIO				BIT(22)
+#define AR724X_RESET_PCIE_PHY_SERIAL			BIT(10)
+#define AR724X_RESET_PCIE_PHY				BIT(7)
+#define AR724X_RESET_PCIE				BIT(6)
+#define AR724X_RESET_USB_HOST				BIT(5)
+#define AR724X_RESET_USB_PHY				BIT(4)
+#define AR724X_RESET_USBSUS_OVERRIDE			BIT(3)
+
+#define AR913X_RESET_AMBA2WMAC				BIT(22)
+#define AR913X_RESET_USBSUS_OVERRIDE			BIT(10)
+#define AR913X_RESET_USB_HOST				BIT(5)
+#define AR913X_RESET_USB_PHY				BIT(4)
+
+#define AR933X_RESET_GE1_MDIO				BIT(23)
+#define AR933X_RESET_GE0_MDIO				BIT(22)
+#define AR933X_RESET_GE1_MAC				BIT(13)
+#define AR933X_RESET_WMAC				BIT(11)
+#define AR933X_RESET_GE0_MAC				BIT(9)
+#define AR933X_RESET_ETH_SWITCH				BIT(8)
+#define AR933X_RESET_USB_HOST				BIT(5)
+#define AR933X_RESET_USB_PHY				BIT(4)
+#define AR933X_RESET_USBSUS_OVERRIDE			BIT(3)
+
+#define AR934X_RESET_HOST				BIT(31)
+#define AR934X_RESET_SLIC				BIT(30)
+#define AR934X_RESET_HDMA				BIT(29)
+#define AR934X_RESET_EXTERNAL				BIT(28)
+#define AR934X_RESET_RTC				BIT(27)
+#define AR934X_RESET_PCIE_EP_INT			BIT(26)
+#define AR934X_RESET_CHKSUM_ACC				BIT(25)
+#define AR934X_RESET_FULL_CHIP				BIT(24)
+#define AR934X_RESET_GE1_MDIO				BIT(23)
+#define AR934X_RESET_GE0_MDIO				BIT(22)
+#define AR934X_RESET_CPU_NMI				BIT(21)
+#define AR934X_RESET_CPU_COLD				BIT(20)
+#define AR934X_RESET_HOST_RESET_INT			BIT(19)
+#define AR934X_RESET_PCIE_EP				BIT(18)
+#define AR934X_RESET_UART1				BIT(17)
+#define AR934X_RESET_DDR				BIT(16)
+#define AR934X_RESET_USB_PHY_PLL_PWD_EXT		BIT(15)
+#define AR934X_RESET_NANDF				BIT(14)
+#define AR934X_RESET_GE1_MAC				BIT(13)
+#define AR934X_RESET_ETH_SWITCH_ANALOG			BIT(12)
+#define AR934X_RESET_USB_PHY_ANALOG			BIT(11)
+#define AR934X_RESET_HOST_DMA_INT			BIT(10)
+#define AR934X_RESET_GE0_MAC				BIT(9)
+#define AR934X_RESET_ETH_SWITCH				BIT(8)
+#define AR934X_RESET_PCIE_PHY				BIT(7)
+#define AR934X_RESET_PCIE				BIT(6)
+#define AR934X_RESET_USB_HOST				BIT(5)
+#define AR934X_RESET_USB_PHY				BIT(4)
+#define AR934X_RESET_USBSUS_OVERRIDE			BIT(3)
+#define AR934X_RESET_LUT				BIT(2)
+#define AR934X_RESET_MBOX				BIT(1)
+#define AR934X_RESET_I2S				BIT(0)
+
+#define QCA953X_RESET_USB_EXT_PWR			BIT(29)
+#define QCA953X_RESET_EXTERNAL				BIT(28)
+#define QCA953X_RESET_RTC				BIT(27)
+#define QCA953X_RESET_FULL_CHIP				BIT(24)
+#define QCA953X_RESET_GE1_MDIO				BIT(23)
+#define QCA953X_RESET_GE0_MDIO				BIT(22)
+#define QCA953X_RESET_CPU_NMI				BIT(21)
+#define QCA953X_RESET_CPU_COLD				BIT(20)
+#define QCA953X_RESET_DDR				BIT(16)
+#define QCA953X_RESET_USB_PHY_PLL_PWD_EXT		BIT(15)
+#define QCA953X_RESET_GE1_MAC				BIT(13)
+#define QCA953X_RESET_ETH_SWITCH_ANALOG			BIT(12)
+#define QCA953X_RESET_USB_PHY_ANALOG			BIT(11)
+#define QCA953X_RESET_GE0_MAC				BIT(9)
+#define QCA953X_RESET_ETH_SWITCH			BIT(8)
+#define QCA953X_RESET_PCIE_PHY				BIT(7)
+#define QCA953X_RESET_PCIE				BIT(6)
+#define QCA953X_RESET_USB_HOST				BIT(5)
+#define QCA953X_RESET_USB_PHY				BIT(4)
+#define QCA953X_RESET_USBSUS_OVERRIDE			BIT(3)
+
+#define QCA955X_RESET_HOST				BIT(31)
+#define QCA955X_RESET_SLIC				BIT(30)
+#define QCA955X_RESET_HDMA				BIT(29)
+#define QCA955X_RESET_EXTERNAL				BIT(28)
+#define QCA955X_RESET_RTC				BIT(27)
+#define QCA955X_RESET_PCIE_EP_INT			BIT(26)
+#define QCA955X_RESET_CHKSUM_ACC			BIT(25)
+#define QCA955X_RESET_FULL_CHIP				BIT(24)
+#define QCA955X_RESET_GE1_MDIO				BIT(23)
+#define QCA955X_RESET_GE0_MDIO				BIT(22)
+#define QCA955X_RESET_CPU_NMI				BIT(21)
+#define QCA955X_RESET_CPU_COLD				BIT(20)
+#define QCA955X_RESET_HOST_RESET_INT			BIT(19)
+#define QCA955X_RESET_PCIE_EP				BIT(18)
+#define QCA955X_RESET_UART1				BIT(17)
+#define QCA955X_RESET_DDR				BIT(16)
+#define QCA955X_RESET_USB_PHY_PLL_PWD_EXT		BIT(15)
+#define QCA955X_RESET_NANDF				BIT(14)
+#define QCA955X_RESET_GE1_MAC				BIT(13)
+#define QCA955X_RESET_SGMII_ANALOG			BIT(12)
+#define QCA955X_RESET_USB_PHY_ANALOG			BIT(11)
+#define QCA955X_RESET_HOST_DMA_INT			BIT(10)
+#define QCA955X_RESET_GE0_MAC				BIT(9)
+#define QCA955X_RESET_SGMII				BIT(8)
+#define QCA955X_RESET_PCIE_PHY				BIT(7)
+#define QCA955X_RESET_PCIE				BIT(6)
+#define QCA955X_RESET_USB_HOST				BIT(5)
+#define QCA955X_RESET_USB_PHY				BIT(4)
+#define QCA955X_RESET_USBSUS_OVERRIDE			BIT(3)
+#define QCA955X_RESET_LUT				BIT(2)
+#define QCA955X_RESET_MBOX				BIT(1)
+#define QCA955X_RESET_I2S				BIT(0)
+
+#define AR933X_BOOTSTRAP_MDIO_GPIO_EN			BIT(18)
+#define AR933X_BOOTSTRAP_DDR2				BIT(13)
+#define AR933X_BOOTSTRAP_EEPBUSY			BIT(4)
+#define AR933X_BOOTSTRAP_REF_CLK_40			BIT(0)
+
+#define AR934X_BOOTSTRAP_SW_OPTION8			BIT(23)
+#define AR934X_BOOTSTRAP_SW_OPTION7			BIT(22)
+#define AR934X_BOOTSTRAP_SW_OPTION6			BIT(21)
+#define AR934X_BOOTSTRAP_SW_OPTION5			BIT(20)
+#define AR934X_BOOTSTRAP_SW_OPTION4			BIT(19)
+#define AR934X_BOOTSTRAP_SW_OPTION3			BIT(18)
+#define AR934X_BOOTSTRAP_SW_OPTION2			BIT(17)
+#define AR934X_BOOTSTRAP_SW_OPTION1			BIT(16)
+#define AR934X_BOOTSTRAP_USB_MODE_DEVICE		BIT(7)
+#define AR934X_BOOTSTRAP_PCIE_RC			BIT(6)
+#define AR934X_BOOTSTRAP_EJTAG_MODE			BIT(5)
+#define AR934X_BOOTSTRAP_REF_CLK_40			BIT(4)
+#define AR934X_BOOTSTRAP_BOOT_FROM_SPI			BIT(2)
+#define AR934X_BOOTSTRAP_SDRAM_DISABLED			BIT(1)
+#define AR934X_BOOTSTRAP_DDR1				BIT(0)
+
+#define QCA953X_BOOTSTRAP_SW_OPTION2			BIT(12)
+#define QCA953X_BOOTSTRAP_SW_OPTION1			BIT(11)
+#define QCA953X_BOOTSTRAP_EJTAG_MODE			BIT(5)
+#define QCA953X_BOOTSTRAP_REF_CLK_40			BIT(4)
+#define QCA953X_BOOTSTRAP_SDRAM_DISABLED		BIT(1)
+#define QCA953X_BOOTSTRAP_DDR1				BIT(0)
+
+#define QCA955X_BOOTSTRAP_REF_CLK_40			BIT(4)
+
+#define QCA956X_BOOTSTRAP_REF_CLK_40			BIT(2)
+
+#define AR934X_PCIE_WMAC_INT_WMAC_MISC			BIT(0)
+#define AR934X_PCIE_WMAC_INT_WMAC_TX			BIT(1)
+#define AR934X_PCIE_WMAC_INT_WMAC_RXLP			BIT(2)
+#define AR934X_PCIE_WMAC_INT_WMAC_RXHP			BIT(3)
+#define AR934X_PCIE_WMAC_INT_PCIE_RC			BIT(4)
+#define AR934X_PCIE_WMAC_INT_PCIE_RC0			BIT(5)
+#define AR934X_PCIE_WMAC_INT_PCIE_RC1			BIT(6)
+#define AR934X_PCIE_WMAC_INT_PCIE_RC2			BIT(7)
+#define AR934X_PCIE_WMAC_INT_PCIE_RC3			BIT(8)
+#define AR934X_PCIE_WMAC_INT_WMAC_ALL \
+	(AR934X_PCIE_WMAC_INT_WMAC_MISC | AR934X_PCIE_WMAC_INT_WMAC_TX | \
+	 AR934X_PCIE_WMAC_INT_WMAC_RXLP | AR934X_PCIE_WMAC_INT_WMAC_RXHP)
+
+#define AR934X_PCIE_WMAC_INT_PCIE_ALL \
+	(AR934X_PCIE_WMAC_INT_PCIE_RC | AR934X_PCIE_WMAC_INT_PCIE_RC0 | \
+	 AR934X_PCIE_WMAC_INT_PCIE_RC1 | AR934X_PCIE_WMAC_INT_PCIE_RC2 | \
+	 AR934X_PCIE_WMAC_INT_PCIE_RC3)
+
+#define QCA953X_PCIE_WMAC_INT_WMAC_MISC			BIT(0)
+#define QCA953X_PCIE_WMAC_INT_WMAC_TX			BIT(1)
+#define QCA953X_PCIE_WMAC_INT_WMAC_RXLP			BIT(2)
+#define QCA953X_PCIE_WMAC_INT_WMAC_RXHP			BIT(3)
+#define QCA953X_PCIE_WMAC_INT_PCIE_RC			BIT(4)
+#define QCA953X_PCIE_WMAC_INT_PCIE_RC0			BIT(5)
+#define QCA953X_PCIE_WMAC_INT_PCIE_RC1			BIT(6)
+#define QCA953X_PCIE_WMAC_INT_PCIE_RC2			BIT(7)
+#define QCA953X_PCIE_WMAC_INT_PCIE_RC3			BIT(8)
+#define QCA953X_PCIE_WMAC_INT_WMAC_ALL \
+	(QCA953X_PCIE_WMAC_INT_WMAC_MISC | QCA953X_PCIE_WMAC_INT_WMAC_TX | \
+	 QCA953X_PCIE_WMAC_INT_WMAC_RXLP | QCA953X_PCIE_WMAC_INT_WMAC_RXHP)
+
+#define QCA953X_PCIE_WMAC_INT_PCIE_ALL \
+	(QCA953X_PCIE_WMAC_INT_PCIE_RC | QCA953X_PCIE_WMAC_INT_PCIE_RC0 | \
+	 QCA953X_PCIE_WMAC_INT_PCIE_RC1 | QCA953X_PCIE_WMAC_INT_PCIE_RC2 | \
+	 QCA953X_PCIE_WMAC_INT_PCIE_RC3)
+
+#define QCA955X_EXT_INT_WMAC_MISC			BIT(0)
+#define QCA955X_EXT_INT_WMAC_TX				BIT(1)
+#define QCA955X_EXT_INT_WMAC_RXLP			BIT(2)
+#define QCA955X_EXT_INT_WMAC_RXHP			BIT(3)
+#define QCA955X_EXT_INT_PCIE_RC1			BIT(4)
+#define QCA955X_EXT_INT_PCIE_RC1_INT0			BIT(5)
+#define QCA955X_EXT_INT_PCIE_RC1_INT1			BIT(6)
+#define QCA955X_EXT_INT_PCIE_RC1_INT2			BIT(7)
+#define QCA955X_EXT_INT_PCIE_RC1_INT3			BIT(8)
+#define QCA955X_EXT_INT_PCIE_RC2			BIT(12)
+#define QCA955X_EXT_INT_PCIE_RC2_INT0			BIT(13)
+#define QCA955X_EXT_INT_PCIE_RC2_INT1			BIT(14)
+#define QCA955X_EXT_INT_PCIE_RC2_INT2			BIT(15)
+#define QCA955X_EXT_INT_PCIE_RC2_INT3			BIT(16)
+#define QCA955X_EXT_INT_USB1				BIT(24)
+#define QCA955X_EXT_INT_USB2				BIT(28)
+
+#define QCA955X_EXT_INT_WMAC_ALL \
+	(QCA955X_EXT_INT_WMAC_MISC | QCA955X_EXT_INT_WMAC_TX | \
+	 QCA955X_EXT_INT_WMAC_RXLP | QCA955X_EXT_INT_WMAC_RXHP)
+
+#define QCA955X_EXT_INT_PCIE_RC1_ALL \
+	(QCA955X_EXT_INT_PCIE_RC1 | QCA955X_EXT_INT_PCIE_RC1_INT0 | \
+	 QCA955X_EXT_INT_PCIE_RC1_INT1 | QCA955X_EXT_INT_PCIE_RC1_INT2 | \
+	 QCA955X_EXT_INT_PCIE_RC1_INT3)
+
+#define QCA955X_EXT_INT_PCIE_RC2_ALL \
+	(QCA955X_EXT_INT_PCIE_RC2 | QCA955X_EXT_INT_PCIE_RC2_INT0 | \
+	 QCA955X_EXT_INT_PCIE_RC2_INT1 | QCA955X_EXT_INT_PCIE_RC2_INT2 | \
+	 QCA955X_EXT_INT_PCIE_RC2_INT3)
+
+#define QCA956X_EXT_INT_WMAC_MISC			BIT(0)
+#define QCA956X_EXT_INT_WMAC_TX				BIT(1)
+#define QCA956X_EXT_INT_WMAC_RXLP			BIT(2)
+#define QCA956X_EXT_INT_WMAC_RXHP			BIT(3)
+#define QCA956X_EXT_INT_PCIE_RC1			BIT(4)
+#define QCA956X_EXT_INT_PCIE_RC1_INT0			BIT(5)
+#define QCA956X_EXT_INT_PCIE_RC1_INT1			BIT(6)
+#define QCA956X_EXT_INT_PCIE_RC1_INT2			BIT(7)
+#define QCA956X_EXT_INT_PCIE_RC1_INT3			BIT(8)
+#define QCA956X_EXT_INT_PCIE_RC2			BIT(12)
+#define QCA956X_EXT_INT_PCIE_RC2_INT0			BIT(13)
+#define QCA956X_EXT_INT_PCIE_RC2_INT1			BIT(14)
+#define QCA956X_EXT_INT_PCIE_RC2_INT2			BIT(15)
+#define QCA956X_EXT_INT_PCIE_RC2_INT3			BIT(16)
+#define QCA956X_EXT_INT_USB1				BIT(24)
+#define QCA956X_EXT_INT_USB2				BIT(28)
+
+#define QCA956X_EXT_INT_WMAC_ALL \
+	(QCA956X_EXT_INT_WMAC_MISC | QCA956X_EXT_INT_WMAC_TX | \
+	 QCA956X_EXT_INT_WMAC_RXLP | QCA956X_EXT_INT_WMAC_RXHP)
+
+#define QCA956X_EXT_INT_PCIE_RC1_ALL \
+	(QCA956X_EXT_INT_PCIE_RC1 | QCA956X_EXT_INT_PCIE_RC1_INT0 | \
+	 QCA956X_EXT_INT_PCIE_RC1_INT1 | QCA956X_EXT_INT_PCIE_RC1_INT2 | \
+	 QCA956X_EXT_INT_PCIE_RC1_INT3)
+
+#define QCA956X_EXT_INT_PCIE_RC2_ALL \
+	(QCA956X_EXT_INT_PCIE_RC2 | QCA956X_EXT_INT_PCIE_RC2_INT0 | \
+	 QCA956X_EXT_INT_PCIE_RC2_INT1 | QCA956X_EXT_INT_PCIE_RC2_INT2 | \
+	 QCA956X_EXT_INT_PCIE_RC2_INT3)
+
+#define REV_ID_MAJOR_MASK				0xfff0
+#define REV_ID_MAJOR_AR71XX				0x00a0
+#define REV_ID_MAJOR_AR913X				0x00b0
+#define REV_ID_MAJOR_AR7240				0x00c0
+#define REV_ID_MAJOR_AR7241				0x0100
+#define REV_ID_MAJOR_AR7242				0x1100
+#define REV_ID_MAJOR_AR9330				0x0110
+#define REV_ID_MAJOR_AR9331				0x1110
+#define REV_ID_MAJOR_AR9341				0x0120
+#define REV_ID_MAJOR_AR9342				0x1120
+#define REV_ID_MAJOR_AR9344				0x2120
+#define REV_ID_MAJOR_QCA9533				0x0140
+#define REV_ID_MAJOR_QCA9533_V2				0x0160
+#define REV_ID_MAJOR_QCA9556				0x0130
+#define REV_ID_MAJOR_QCA9558				0x1130
+#define REV_ID_MAJOR_TP9343				0x0150
+#define REV_ID_MAJOR_QCA9561				0x1150
+
+#define AR71XX_REV_ID_MINOR_MASK			0x3
+#define AR71XX_REV_ID_MINOR_AR7130			0x0
+#define AR71XX_REV_ID_MINOR_AR7141			0x1
+#define AR71XX_REV_ID_MINOR_AR7161			0x2
+#define AR913X_REV_ID_MINOR_AR9130			0x0
+#define AR913X_REV_ID_MINOR_AR9132			0x1
+
+#define AR71XX_REV_ID_REVISION_MASK			0x3
+#define AR71XX_REV_ID_REVISION_SHIFT			2
+#define AR71XX_REV_ID_REVISION2_MASK			0xf
+
+/*
+ * RTC block
+ */
+#define AR933X_RTC_REG_RESET				0x40
+#define AR933X_RTC_REG_STATUS				0x44
+#define AR933X_RTC_REG_DERIVED				0x48
+#define AR933X_RTC_REG_FORCE_WAKE			0x4c
+#define AR933X_RTC_REG_INT_CAUSE			0x50
+#define AR933X_RTC_REG_CAUSE_CLR			0x50
+#define AR933X_RTC_REG_INT_ENABLE			0x54
+#define AR933X_RTC_REG_INT_MASKE			0x58
+
+#define QCA953X_RTC_REG_SYNC_RESET			0x40
+#define QCA953X_RTC_REG_SYNC_STATUS			0x44
+
+/*
+ * SPI block
+ */
+#define AR71XX_SPI_REG_FS				0x00
+#define AR71XX_SPI_REG_CTRL				0x04
+#define AR71XX_SPI_REG_IOC				0x08
+#define AR71XX_SPI_REG_RDS				0x0c
+
+#define AR71XX_SPI_FS_GPIO				BIT(0)
+
+#define AR71XX_SPI_CTRL_RD				BIT(6)
+#define AR71XX_SPI_CTRL_DIV_MASK			0x3f
+
+#define AR71XX_SPI_IOC_DO				BIT(0)
+#define AR71XX_SPI_IOC_CLK				BIT(8)
+#define AR71XX_SPI_IOC_CS(n)				BIT(16 + (n))
+#define AR71XX_SPI_IOC_CS0				AR71XX_SPI_IOC_CS(0)
+#define AR71XX_SPI_IOC_CS1				AR71XX_SPI_IOC_CS(1)
+#define AR71XX_SPI_IOC_CS2				AR71XX_SPI_IOC_CS(2)
+#define AR71XX_SPI_IOC_CS_ALL \
+	(AR71XX_SPI_IOC_CS0 | AR71XX_SPI_IOC_CS1 | AR71XX_SPI_IOC_CS2)
+
+/*
+ * GPIO block
+ */
+#define AR71XX_GPIO_REG_OE				0x00
+#define AR71XX_GPIO_REG_IN				0x04
+#define AR71XX_GPIO_REG_OUT				0x08
+#define AR71XX_GPIO_REG_SET				0x0c
+#define AR71XX_GPIO_REG_CLEAR				0x10
+#define AR71XX_GPIO_REG_INT_MODE			0x14
+#define AR71XX_GPIO_REG_INT_TYPE			0x18
+#define AR71XX_GPIO_REG_INT_POLARITY			0x1c
+#define AR71XX_GPIO_REG_INT_PENDING			0x20
+#define AR71XX_GPIO_REG_INT_ENABLE			0x24
+#define AR71XX_GPIO_REG_FUNC				0x28
+#define AR933X_GPIO_REG_FUNC				0x30
+
+#define AR934X_GPIO_REG_OUT_FUNC0			0x2c
+#define AR934X_GPIO_REG_OUT_FUNC1			0x30
+#define AR934X_GPIO_REG_OUT_FUNC2			0x34
+#define AR934X_GPIO_REG_OUT_FUNC3			0x38
+#define AR934X_GPIO_REG_OUT_FUNC4			0x3c
+#define AR934X_GPIO_REG_OUT_FUNC5			0x40
+#define AR934X_GPIO_REG_FUNC				0x6c
+
+#define QCA953X_GPIO_REG_OUT_FUNC0			0x2c
+#define QCA953X_GPIO_REG_OUT_FUNC1			0x30
+#define QCA953X_GPIO_REG_OUT_FUNC2			0x34
+#define QCA953X_GPIO_REG_OUT_FUNC3			0x38
+#define QCA953X_GPIO_REG_OUT_FUNC4			0x3c
+#define QCA953X_GPIO_REG_IN_ENABLE0			0x44
+#define QCA953X_GPIO_REG_FUNC				0x6c
+
+#define QCA955X_GPIO_REG_OUT_FUNC0			0x2c
+#define QCA955X_GPIO_REG_OUT_FUNC1			0x30
+#define QCA955X_GPIO_REG_OUT_FUNC2			0x34
+#define QCA955X_GPIO_REG_OUT_FUNC3			0x38
+#define QCA955X_GPIO_REG_OUT_FUNC4			0x3c
+#define QCA955X_GPIO_REG_OUT_FUNC5			0x40
+#define QCA955X_GPIO_REG_FUNC				0x6c
+
+#define QCA956X_GPIO_REG_OUT_FUNC0			0x2c
+#define QCA956X_GPIO_REG_OUT_FUNC1			0x30
+#define QCA956X_GPIO_REG_OUT_FUNC2			0x34
+#define QCA956X_GPIO_REG_OUT_FUNC3			0x38
+#define QCA956X_GPIO_REG_OUT_FUNC4			0x3c
+#define QCA956X_GPIO_REG_OUT_FUNC5			0x40
+#define QCA956X_GPIO_REG_IN_ENABLE0			0x44
+#define QCA956X_GPIO_REG_IN_ENABLE3			0x50
+#define QCA956X_GPIO_REG_FUNC				0x6c
+
+#define AR71XX_GPIO_FUNC_STEREO_EN			BIT(17)
+#define AR71XX_GPIO_FUNC_SLIC_EN			BIT(16)
+#define AR71XX_GPIO_FUNC_SPI_CS2_EN			BIT(13)
+#define AR71XX_GPIO_FUNC_SPI_CS1_EN			BIT(12)
+#define AR71XX_GPIO_FUNC_UART_EN			BIT(8)
+#define AR71XX_GPIO_FUNC_USB_OC_EN			BIT(4)
+#define AR71XX_GPIO_FUNC_USB_CLK_EN			BIT(0)
+
+#define AR724X_GPIO_FUNC_GE0_MII_CLK_EN			BIT(19)
+#define AR724X_GPIO_FUNC_SPI_EN				BIT(18)
+#define AR724X_GPIO_FUNC_SPI_CS_EN2			BIT(14)
+#define AR724X_GPIO_FUNC_SPI_CS_EN1			BIT(13)
+#define AR724X_GPIO_FUNC_CLK_OBS5_EN			BIT(12)
+#define AR724X_GPIO_FUNC_CLK_OBS4_EN			BIT(11)
+#define AR724X_GPIO_FUNC_CLK_OBS3_EN			BIT(10)
+#define AR724X_GPIO_FUNC_CLK_OBS2_EN			BIT(9)
+#define AR724X_GPIO_FUNC_CLK_OBS1_EN			BIT(8)
+#define AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN		BIT(7)
+#define AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN		BIT(6)
+#define AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN		BIT(5)
+#define AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN		BIT(4)
+#define AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN		BIT(3)
+#define AR724X_GPIO_FUNC_UART_RTS_CTS_EN		BIT(2)
+#define AR724X_GPIO_FUNC_UART_EN			BIT(1)
+#define AR724X_GPIO_FUNC_JTAG_DISABLE			BIT(0)
+
+#define AR913X_GPIO_FUNC_WMAC_LED_EN			BIT(22)
+#define AR913X_GPIO_FUNC_EXP_PORT_CS_EN			BIT(21)
+#define AR913X_GPIO_FUNC_I2S_REFCLKEN			BIT(20)
+#define AR913X_GPIO_FUNC_I2S_MCKEN			BIT(19)
+#define AR913X_GPIO_FUNC_I2S1_EN			BIT(18)
+#define AR913X_GPIO_FUNC_I2S0_EN			BIT(17)
+#define AR913X_GPIO_FUNC_SLIC_EN			BIT(16)
+#define AR913X_GPIO_FUNC_UART_RTSCTS_EN			BIT(9)
+#define AR913X_GPIO_FUNC_UART_EN			BIT(8)
+#define AR913X_GPIO_FUNC_USB_CLK_EN			BIT(4)
+
+#define AR933X_GPIO(x)					BIT(x)
+#define AR933X_GPIO_FUNC_SPDIF2TCK			BIT(31)
+#define AR933X_GPIO_FUNC_SPDIF_EN			BIT(30)
+#define AR933X_GPIO_FUNC_I2SO_22_18_EN			BIT(29)
+#define AR933X_GPIO_FUNC_I2S_MCK_EN			BIT(27)
+#define AR933X_GPIO_FUNC_I2SO_EN			BIT(26)
+#define AR933X_GPIO_FUNC_ETH_SWITCH_LED_DUPL		BIT(25)
+#define AR933X_GPIO_FUNC_ETH_SWITCH_LED_COLL		BIT(24)
+#define AR933X_GPIO_FUNC_ETH_SWITCH_LED_ACT		BIT(23)
+#define AR933X_GPIO_FUNC_SPI_EN				BIT(18)
+#define AR933X_GPIO_FUNC_RES_TRUE			BIT(15)
+#define AR933X_GPIO_FUNC_SPI_CS_EN2			BIT(14)
+#define AR933X_GPIO_FUNC_SPI_CS_EN1			BIT(13)
+#define AR933X_GPIO_FUNC_XLNA_EN			BIT(12)
+#define AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN		BIT(7)
+#define AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN		BIT(6)
+#define AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN		BIT(5)
+#define AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN		BIT(4)
+#define AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN		BIT(3)
+#define AR933X_GPIO_FUNC_UART_RTS_CTS_EN		BIT(2)
+#define AR933X_GPIO_FUNC_UART_EN			BIT(1)
+#define AR933X_GPIO_FUNC_JTAG_DISABLE			BIT(0)
+
+#define AR934X_GPIO_FUNC_CLK_OBS7_EN			BIT(9)
+#define AR934X_GPIO_FUNC_CLK_OBS6_EN			BIT(8)
+#define AR934X_GPIO_FUNC_CLK_OBS5_EN			BIT(7)
+#define AR934X_GPIO_FUNC_CLK_OBS4_EN			BIT(6)
+#define AR934X_GPIO_FUNC_CLK_OBS3_EN			BIT(5)
+#define AR934X_GPIO_FUNC_CLK_OBS2_EN			BIT(4)
+#define AR934X_GPIO_FUNC_CLK_OBS1_EN			BIT(3)
+#define AR934X_GPIO_FUNC_CLK_OBS0_EN			BIT(2)
+#define AR934X_GPIO_FUNC_JTAG_DISABLE			BIT(1)
+
+#define AR934X_GPIO_OUT_GPIO				0
+#define AR934X_GPIO_OUT_SPI_CS1				7
+#define AR934X_GPIO_OUT_LED_LINK0			41
+#define AR934X_GPIO_OUT_LED_LINK1			42
+#define AR934X_GPIO_OUT_LED_LINK2			43
+#define AR934X_GPIO_OUT_LED_LINK3			44
+#define AR934X_GPIO_OUT_LED_LINK4			45
+#define AR934X_GPIO_OUT_EXT_LNA0			46
+#define AR934X_GPIO_OUT_EXT_LNA1			47
+
+#define QCA953X_GPIO(x)					BIT(x)
+#define QCA953X_GPIO_MUX_MASK(x)			(0xff << (x))
+#define QCA953X_GPIO_OUT_MUX_SPI_CS1			10
+#define QCA953X_GPIO_OUT_MUX_SPI_CS2			11
+#define QCA953X_GPIO_OUT_MUX_SPI_CS0			9
+#define QCA953X_GPIO_OUT_MUX_SPI_CLK			8
+#define QCA953X_GPIO_OUT_MUX_SPI_MOSI			12
+#define QCA953X_GPIO_OUT_MUX_UART0_SOUT			22
+#define QCA953X_GPIO_OUT_MUX_LED_LINK1			41
+#define QCA953X_GPIO_OUT_MUX_LED_LINK2			42
+#define QCA953X_GPIO_OUT_MUX_LED_LINK3			43
+#define QCA953X_GPIO_OUT_MUX_LED_LINK4			44
+#define QCA953X_GPIO_OUT_MUX_LED_LINK5			45
+
+#define QCA953X_GPIO_IN_MUX_UART0_SIN			9
+#define QCA953X_GPIO_IN_MUX_SPI_DATA_IN			8
+
+#define QCA956X_GPIO_OUT_MUX_GE0_MDO			32
+#define QCA956X_GPIO_OUT_MUX_GE0_MDC			33
+
+#define AR71XX_GPIO_COUNT				16
+#define AR7240_GPIO_COUNT				18
+#define AR7241_GPIO_COUNT				20
+#define AR913X_GPIO_COUNT				22
+#define AR933X_GPIO_COUNT				30
+#define AR934X_GPIO_COUNT				23
+#define QCA953X_GPIO_COUNT				18
+#define QCA955X_GPIO_COUNT				24
+#define QCA956X_GPIO_COUNT				23
+
+/*
+ * SRIF block
+ */
+#define AR933X_SRIF_DDR_DPLL1_REG			0x240
+#define AR933X_SRIF_DDR_DPLL2_REG			0x244
+#define AR933X_SRIF_DDR_DPLL3_REG			0x248
+#define AR933X_SRIF_DDR_DPLL4_REG			0x24c
+
+#define AR934X_SRIF_CPU_DPLL1_REG			0x1c0
+#define AR934X_SRIF_CPU_DPLL2_REG			0x1c4
+#define AR934X_SRIF_CPU_DPLL3_REG			0x1c8
+#define AR934X_SRIF_CPU_DPLL4_REG			0x1cc
+
+#define AR934X_SRIF_DDR_DPLL1_REG			0x240
+#define AR934X_SRIF_DDR_DPLL2_REG			0x244
+#define AR934X_SRIF_DDR_DPLL3_REG			0x248
+#define AR934X_SRIF_DDR_DPLL4_REG			0x24c
+
+#define AR934X_SRIF_DPLL1_REFDIV_SHIFT			27
+#define AR934X_SRIF_DPLL1_REFDIV_MASK			0x1f
+#define AR934X_SRIF_DPLL1_NINT_SHIFT			18
+#define AR934X_SRIF_DPLL1_NINT_MASK			0x1ff
+#define AR934X_SRIF_DPLL1_NFRAC_MASK			0x0003ffff
+
+#define AR934X_SRIF_DPLL2_LOCAL_PLL			BIT(30)
+#define AR934X_SRIF_DPLL2_OUTDIV_SHIFT			13
+#define AR934X_SRIF_DPLL2_OUTDIV_MASK			0x7
+
+#define QCA953X_SRIF_BB_DPLL1_REG			0x180
+#define QCA953X_SRIF_BB_DPLL2_REG			0x184
+#define QCA953X_SRIF_BB_DPLL3_REG			0x188
+
+#define QCA953X_SRIF_CPU_DPLL1_REG			0x1c0
+#define QCA953X_SRIF_CPU_DPLL2_REG			0x1c4
+#define QCA953X_SRIF_CPU_DPLL3_REG			0x1c8
+
+#define QCA953X_SRIF_DDR_DPLL1_REG			0x240
+#define QCA953X_SRIF_DDR_DPLL2_REG			0x244
+#define QCA953X_SRIF_DDR_DPLL3_REG			0x248
+
+#define QCA953X_SRIF_PCIE_DPLL1_REG			0xc00
+#define QCA953X_SRIF_PCIE_DPLL2_REG			0xc04
+#define QCA953X_SRIF_PCIE_DPLL3_REG			0xc08
+
+#define QCA953X_SRIF_PMU1_REG				0xc40
+#define QCA953X_SRIF_PMU2_REG				0xc44
+
+#define QCA953X_SRIF_DPLL1_REFDIV_SHIFT			27
+#define QCA953X_SRIF_DPLL1_REFDIV_MASK			0x1f
+
+#define QCA953X_SRIF_DPLL1_NINT_SHIFT			18
+#define QCA953X_SRIF_DPLL1_NINT_MASK			0x1ff
+#define QCA953X_SRIF_DPLL1_NFRAC_MASK			0x0003ffff
+
+#define QCA953X_SRIF_DPLL2_LOCAL_PLL			BIT(30)
+
+#define QCA953X_SRIF_DPLL2_KI_SHIFT			29
+#define QCA953X_SRIF_DPLL2_KI_MASK			0x3
+
+#define QCA953X_SRIF_DPLL2_KD_SHIFT			25
+#define QCA953X_SRIF_DPLL2_KD_MASK			0xf
+
+#define QCA953X_SRIF_DPLL2_PWD				BIT(22)
+
+#define QCA953X_SRIF_DPLL2_OUTDIV_SHIFT			13
+#define QCA953X_SRIF_DPLL2_OUTDIV_MASK			0x7
+
+/*
+ * MII_CTRL block
+ */
+#define AR71XX_MII_REG_MII0_CTRL			0x00
+#define AR71XX_MII_REG_MII1_CTRL			0x04
+
+#define AR71XX_MII_CTRL_IF_MASK				3
+#define AR71XX_MII_CTRL_SPEED_SHIFT			4
+#define AR71XX_MII_CTRL_SPEED_MASK			3
+#define AR71XX_MII_CTRL_SPEED_10			0
+#define AR71XX_MII_CTRL_SPEED_100			1
+#define AR71XX_MII_CTRL_SPEED_1000			2
+
+#define AR71XX_MII0_CTRL_IF_GMII			0
+#define AR71XX_MII0_CTRL_IF_MII				1
+#define AR71XX_MII0_CTRL_IF_RGMII			2
+#define AR71XX_MII0_CTRL_IF_RMII			3
+
+#define AR71XX_MII1_CTRL_IF_RGMII			0
+#define AR71XX_MII1_CTRL_IF_RMII			1
+
+/*
+ * AR933X GMAC interface
+ */
+#define AR933X_GMAC_REG_ETH_CFG				0x00
+
+#define AR933X_ETH_CFG_RGMII_GE0			BIT(0)
+#define AR933X_ETH_CFG_MII_GE0				BIT(1)
+#define AR933X_ETH_CFG_GMII_GE0				BIT(2)
+#define AR933X_ETH_CFG_MII_GE0_MASTER			BIT(3)
+#define AR933X_ETH_CFG_MII_GE0_SLAVE			BIT(4)
+#define AR933X_ETH_CFG_MII_GE0_ERR_EN			BIT(5)
+#define AR933X_ETH_CFG_SW_PHY_SWAP			BIT(7)
+#define AR933X_ETH_CFG_SW_PHY_ADDR_SWAP			BIT(8)
+#define AR933X_ETH_CFG_RMII_GE0				BIT(9)
+#define AR933X_ETH_CFG_RMII_GE0_SPD_10			0
+#define AR933X_ETH_CFG_RMII_GE0_SPD_100			BIT(10)
+
+/*
+ * AR934X GMAC Interface
+ */
+#define AR934X_GMAC_REG_ETH_CFG				0x00
+
+#define AR934X_ETH_CFG_RGMII_GMAC0			BIT(0)
+#define AR934X_ETH_CFG_MII_GMAC0			BIT(1)
+#define AR934X_ETH_CFG_GMII_GMAC0			BIT(2)
+#define AR934X_ETH_CFG_MII_GMAC0_MASTER			BIT(3)
+#define AR934X_ETH_CFG_MII_GMAC0_SLAVE			BIT(4)
+#define AR934X_ETH_CFG_MII_GMAC0_ERR_EN			BIT(5)
+#define AR934X_ETH_CFG_SW_ONLY_MODE			BIT(6)
+#define AR934X_ETH_CFG_SW_PHY_SWAP			BIT(7)
+#define AR934X_ETH_CFG_SW_APB_ACCESS			BIT(9)
+#define AR934X_ETH_CFG_RMII_GMAC0			BIT(10)
+#define AR933X_ETH_CFG_MII_CNTL_SPEED			BIT(11)
+#define AR934X_ETH_CFG_RMII_GMAC0_MASTER			BIT(12)
+#define AR933X_ETH_CFG_SW_ACC_MSB_FIRST			BIT(13)
+#define AR934X_ETH_CFG_RXD_DELAY			BIT(14)
+#define AR934X_ETH_CFG_RXD_DELAY_MASK			0x3
+#define AR934X_ETH_CFG_RXD_DELAY_SHIFT			14
+#define AR934X_ETH_CFG_RDV_DELAY			BIT(16)
+#define AR934X_ETH_CFG_RDV_DELAY_MASK			0x3
+#define AR934X_ETH_CFG_RDV_DELAY_SHIFT			16
+
+/*
+ * QCA953X GMAC Interface
+ */
+#define QCA953X_GMAC_REG_ETH_CFG			0x00
+
+#define QCA953X_ETH_CFG_SW_ONLY_MODE			BIT(6)
+#define QCA953X_ETH_CFG_SW_PHY_SWAP			BIT(7)
+#define QCA953X_ETH_CFG_SW_APB_ACCESS			BIT(9)
+#define QCA953X_ETH_CFG_SW_ACC_MSB_FIRST		BIT(13)
+
+/*
+ * QCA955X GMAC Interface
+ */
+
+#define QCA955X_GMAC_REG_ETH_CFG			0x00
+
+#define QCA955X_ETH_CFG_RGMII_EN			BIT(0)
+#define QCA955X_ETH_CFG_GE0_SGMII			BIT(6)
+
+#endif /* __ASM_AR71XX_H */
diff --git a/arch/mips/mach-ath79/include/mach/ath79.h b/arch/mips/mach-ath79/include/mach/ath79.h
new file mode 100644
index 0000000..17af082
--- /dev/null
+++ b/arch/mips/mach-ath79/include/mach/ath79.h
@@ -0,0 +1,149 @@
+/*
+ * Atheros AR71XX/AR724X/AR913X common definitions
+ *
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ * Copyright (C) 2008-2011 Gabor Juhos <juhosg@openwrt.org>
+ * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __ASM_MACH_ATH79_H
+#define __ASM_MACH_ATH79_H
+
+#include <linux/types.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+enum ath79_soc_type {
+	ATH79_SOC_UNKNOWN,
+	ATH79_SOC_AR7130,
+	ATH79_SOC_AR7141,
+	ATH79_SOC_AR7161,
+	ATH79_SOC_AR7240,
+	ATH79_SOC_AR7241,
+	ATH79_SOC_AR7242,
+	ATH79_SOC_AR9130,
+	ATH79_SOC_AR9132,
+	ATH79_SOC_AR9330,
+	ATH79_SOC_AR9331,
+	ATH79_SOC_AR9341,
+	ATH79_SOC_AR9342,
+	ATH79_SOC_AR9344,
+	ATH79_SOC_QCA9533,
+	ATH79_SOC_QCA9556,
+	ATH79_SOC_QCA9558,
+	ATH79_SOC_TP9343,
+	ATH79_SOC_QCA9561,
+};
+
+static inline int soc_is_ar71xx(void)
+{
+	return gd->arch.soc == ATH79_SOC_AR7130 ||
+		gd->arch.soc == ATH79_SOC_AR7141 ||
+		gd->arch.soc == ATH79_SOC_AR7161;
+}
+
+static inline int soc_is_ar724x(void)
+{
+	return gd->arch.soc == ATH79_SOC_AR7240 ||
+		gd->arch.soc == ATH79_SOC_AR7241 ||
+		gd->arch.soc == ATH79_SOC_AR7242;
+}
+
+static inline int soc_is_ar7240(void)
+{
+	return gd->arch.soc == ATH79_SOC_AR7240;
+}
+
+static inline int soc_is_ar7241(void)
+{
+	return gd->arch.soc == ATH79_SOC_AR7241;
+}
+
+static inline int soc_is_ar7242(void)
+{
+	return gd->arch.soc == ATH79_SOC_AR7242;
+}
+
+static inline int soc_is_ar913x(void)
+{
+	return gd->arch.soc == ATH79_SOC_AR9130 ||
+		gd->arch.soc == ATH79_SOC_AR9132;
+}
+
+static inline int soc_is_ar933x(void)
+{
+	return gd->arch.soc == ATH79_SOC_AR9330 ||
+		gd->arch.soc == ATH79_SOC_AR9331;
+}
+
+static inline int soc_is_ar9341(void)
+{
+	return gd->arch.soc == ATH79_SOC_AR9341;
+}
+
+static inline int soc_is_ar9342(void)
+{
+	return gd->arch.soc == ATH79_SOC_AR9342;
+}
+
+static inline int soc_is_ar9344(void)
+{
+	return gd->arch.soc == ATH79_SOC_AR9344;
+}
+
+static inline int soc_is_ar934x(void)
+{
+	return soc_is_ar9341() ||
+		soc_is_ar9342() ||
+		soc_is_ar9344();
+}
+
+static inline int soc_is_qca9533(void)
+{
+	return gd->arch.soc == ATH79_SOC_QCA9533;
+}
+
+static inline int soc_is_qca953x(void)
+{
+	return soc_is_qca9533();
+}
+
+static inline int soc_is_qca9556(void)
+{
+	return gd->arch.soc == ATH79_SOC_QCA9556;
+}
+
+static inline int soc_is_qca9558(void)
+{
+	return gd->arch.soc == ATH79_SOC_QCA9558;
+}
+
+static inline int soc_is_qca955x(void)
+{
+	return soc_is_qca9556() || soc_is_qca9558();
+}
+
+static inline int soc_is_tp9343(void)
+{
+	return gd->arch.soc == ATH79_SOC_TP9343;
+}
+
+static inline int soc_is_qca9561(void)
+{
+	return gd->arch.soc == ATH79_SOC_QCA9561;
+}
+
+static inline int soc_is_qca956x(void)
+{
+	return soc_is_tp9343() || soc_is_qca9561();
+}
+
+int ath79_eth_reset(void);
+int ath79_usb_reset(void);
+
+void ar934x_pll_init(const u16 cpu_mhz, const u16 ddr_mhz, const u16 ahb_mhz);
+void ar934x_ddr_init(const u16 cpu_mhz, const u16 ddr_mhz, const u16 ahb_mhz);
+
+#endif /* __ASM_MACH_ATH79_H */
diff --git a/arch/mips/mach-ath79/include/mach/ddr.h b/arch/mips/mach-ath79/include/mach/ddr.h
new file mode 100644
index 0000000..181179a
--- /dev/null
+++ b/arch/mips/mach-ath79/include/mach/ddr.h
@@ -0,0 +1,13 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __ASM_MACH_DDR_H
+#define __ASM_MACH_DDR_H
+
+void ddr_init(void);
+void ddr_tap_tuning(void);
+
+#endif /* __ASM_MACH_DDR_H */
diff --git a/arch/mips/mach-ath79/include/mach/reset.h b/arch/mips/mach-ath79/include/mach/reset.h
new file mode 100644
index 0000000..c383bfe
--- /dev/null
+++ b/arch/mips/mach-ath79/include/mach/reset.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __ASM_MACH_RESET_H
+#define __ASM_MACH_RESET_H
+
+#include <linux/types.h>
+
+u32 get_bootstrap(void);
+
+#endif /* __ASM_MACH_RESET_H */
diff --git a/arch/mips/mach-ath79/qca953x/Makefile b/arch/mips/mach-ath79/qca953x/Makefile
new file mode 100644
index 0000000..fd74f0c
--- /dev/null
+++ b/arch/mips/mach-ath79/qca953x/Makefile
@@ -0,0 +1,7 @@
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y += clk.o
+obj-y += ddr.o
+obj-y += lowlevel_init.o
diff --git a/arch/mips/mach-ath79/qca953x/clk.c b/arch/mips/mach-ath79/qca953x/clk.c
new file mode 100644
index 0000000..ef0a28e
--- /dev/null
+++ b/arch/mips/mach-ath79/qca953x/clk.c
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <mach/ar71xx_regs.h>
+#include <mach/reset.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static u32 qca953x_get_xtal(void)
+{
+	u32 val;
+
+	val = get_bootstrap();
+	if (val & QCA953X_BOOTSTRAP_REF_CLK_40)
+		return 40000000;
+	else
+		return 25000000;
+}
+
+int get_serial_clock(void)
+{
+	return qca953x_get_xtal();
+}
+
+int get_clocks(void)
+{
+	void __iomem *regs;
+	u32 val, ctrl, xtal, pll, div;
+
+	regs = map_physmem(AR71XX_PLL_BASE, AR71XX_PLL_SIZE,
+			   MAP_NOCACHE);
+
+	xtal = qca953x_get_xtal();
+	ctrl = readl(regs + QCA953X_PLL_CLK_CTRL_REG);
+	val = readl(regs + QCA953X_PLL_CPU_CONFIG_REG);
+
+	/* VCOOUT = XTAL * DIV_INT */
+	div = (val >> QCA953X_PLL_CPU_CONFIG_REFDIV_SHIFT)
+			& QCA953X_PLL_CPU_CONFIG_REFDIV_MASK;
+	pll = xtal / div;
+
+	/* PLLOUT = VCOOUT * (1/2^OUTDIV) */
+	div = (val >> QCA953X_PLL_CPU_CONFIG_NINT_SHIFT)
+			& QCA953X_PLL_CPU_CONFIG_NINT_MASK;
+	pll *= div;
+	div = (val >> QCA953X_PLL_CPU_CONFIG_OUTDIV_SHIFT)
+			& QCA953X_PLL_CPU_CONFIG_OUTDIV_MASK;
+	if (!div)
+		div = 1;
+	pll >>= div;
+
+	/* CPU_CLK = PLLOUT / CPU_POST_DIV */
+	div = ((ctrl >> QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT)
+			& QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_MASK) + 1;
+	gd->cpu_clk = pll / div;
+
+
+	val = readl(regs + QCA953X_PLL_DDR_CONFIG_REG);
+	/* VCOOUT = XTAL * DIV_INT */
+	div = (val >> QCA953X_PLL_DDR_CONFIG_REFDIV_SHIFT)
+			& QCA953X_PLL_DDR_CONFIG_REFDIV_MASK;
+	pll = xtal / div;
+
+	/* PLLOUT = VCOOUT * (1/2^OUTDIV) */
+	div = (val >> QCA953X_PLL_DDR_CONFIG_NINT_SHIFT)
+			& QCA953X_PLL_DDR_CONFIG_NINT_MASK;
+	pll *= div;
+	div = (val >> QCA953X_PLL_DDR_CONFIG_OUTDIV_SHIFT)
+			& QCA953X_PLL_DDR_CONFIG_OUTDIV_MASK;
+	if (!div)
+		div = 1;
+	pll >>= div;
+
+	/* DDR_CLK = PLLOUT / DDR_POST_DIV */
+	div = ((ctrl >> QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_SHIFT)
+			& QCA953X_PLL_CLK_CTRL_DDR_POST_DIV_MASK) + 1;
+	gd->mem_clk = pll / div;
+
+	div = ((ctrl >> QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_SHIFT)
+			& QCA953X_PLL_CLK_CTRL_AHB_POST_DIV_MASK) + 1;
+	if (ctrl & QCA953X_PLL_CLK_CTRL_AHBCLK_FROM_DDRPLL) {
+		/* AHB_CLK = DDR_CLK / AHB_POST_DIV */
+		gd->bus_clk = gd->mem_clk / (div + 1);
+	} else {
+		/* AHB_CLK = CPU_CLK / AHB_POST_DIV */
+		gd->bus_clk = gd->cpu_clk / (div + 1);
+	}
+
+	return 0;
+}
+
+ulong get_bus_freq(ulong dummy)
+{
+	if (!gd->bus_clk)
+		get_clocks();
+	return gd->bus_clk;
+}
+
+ulong get_ddr_freq(ulong dummy)
+{
+	if (!gd->mem_clk)
+		get_clocks();
+	return gd->mem_clk;
+}
diff --git a/arch/mips/mach-ath79/qca953x/ddr.c b/arch/mips/mach-ath79/qca953x/ddr.c
new file mode 100644
index 0000000..ac0130c
--- /dev/null
+++ b/arch/mips/mach-ath79/qca953x/ddr.c
@@ -0,0 +1,472 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ * Based on Atheros LSDK/QSDK
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <mach/ar71xx_regs.h>
+#include <mach/reset.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#define DDR_CTRL_UPD_EMR3S      BIT(5)
+#define DDR_CTRL_UPD_EMR2S      BIT(4)
+#define DDR_CTRL_PRECHARGE      BIT(3)
+#define DDR_CTRL_AUTO_REFRESH   BIT(2)
+#define DDR_CTRL_UPD_EMRS       BIT(1)
+#define DDR_CTRL_UPD_MRS        BIT(0)
+
+#define DDR_REFRESH_EN          BIT(14)
+#define DDR_REFRESH_M           0x3ff
+#define DDR_REFRESH(x)          ((x) & DDR_REFRESH_M)
+#define DDR_REFRESH_VAL         (DDR_REFRESH_EN | DDR_REFRESH(312))
+
+#define DDR_TRAS_S              0
+#define DDR_TRAS_M              0x1f
+#define DDR_TRAS(x)             (((x) & DDR_TRAS_M) << DDR_TRAS_S)
+#define DDR_TRCD_M              0xf
+#define DDR_TRCD_S              5
+#define DDR_TRCD(x)             (((x) & DDR_TRCD_M) << DDR_TRCD_S)
+#define DDR_TRP_M               0xf
+#define DDR_TRP_S               9
+#define DDR_TRP(x)              (((x) & DDR_TRP_M) << DDR_TRP_S)
+#define DDR_TRRD_M              0xf
+#define DDR_TRRD_S              13
+#define DDR_TRRD(x)             (((x) & DDR_TRRD_M) << DDR_TRRD_S)
+#define DDR_TRFC_M              0x7f
+#define DDR_TRFC_S              17
+#define DDR_TRFC(x)             (((x) & DDR_TRFC_M) << DDR_TRFC_S)
+#define DDR_TMRD_M              0xf
+#define DDR_TMRD_S              23
+#define DDR_TMRD(x)             (((x) & DDR_TMRD_M) << DDR_TMRD_S)
+#define DDR_CAS_L_M             0x17
+#define DDR_CAS_L_S             27
+#define DDR_CAS_L(x)            (((x) & DDR_CAS_L_M) << DDR_CAS_L_S)
+#define DDR_OPEN                BIT(30)
+#define DDR1_CONF_REG_VAL       (DDR_TRAS(16) | DDR_TRCD(6) | \
+				 DDR_TRP(6) | DDR_TRRD(4) | \
+				 DDR_TRFC(7) | DDR_TMRD(5) | \
+				 DDR_CAS_L(7) | DDR_OPEN)
+#define DDR2_CONF_REG_VAL       (DDR_TRAS(27) | DDR_TRCD(9) | \
+				 DDR_TRP(9) | DDR_TRRD(7) | \
+				 DDR_TRFC(21) | DDR_TMRD(15) | \
+				 DDR_CAS_L(17) | DDR_OPEN)
+
+#define DDR_BURST_LEN_S         0
+#define DDR_BURST_LEN_M         0xf
+#define DDR_BURST_LEN(x)        ((x) << DDR_BURST_LEN_S)
+#define DDR_BURST_TYPE          BIT(4)
+#define DDR_CNTL_OE_EN          BIT(5)
+#define DDR_PHASE_SEL           BIT(6)
+#define DDR_CKE                 BIT(7)
+#define DDR_TWR_S               8
+#define DDR_TWR_M               0xf
+#define DDR_TWR(x)              (((x) & DDR_TWR_M) << DDR_TWR_S)
+#define DDR_TRTW_S              12
+#define DDR_TRTW_M              0x1f
+#define DDR_TRTW(x)             (((x) & DDR_TRTW_M) << DDR_TRTW_S)
+#define DDR_TRTP_S              17
+#define DDR_TRTP_M              0xf
+#define DDR_TRTP(x)             (((x) & DDR_TRTP_M) << DDR_TRTP_S)
+#define DDR_TWTR_S              21
+#define DDR_TWTR_M              0x1f
+#define DDR_TWTR(x)             (((x) & DDR_TWTR_M) << DDR_TWTR_S)
+#define DDR_G_OPEN_L_S          26
+#define DDR_G_OPEN_L_M          0xf
+#define DDR_G_OPEN_L(x)         ((x) << DDR_G_OPEN_L_S)
+#define DDR_HALF_WIDTH_LOW      BIT(31)
+#define DDR1_CONF2_REG_VAL      (DDR_BURST_LEN(8) | DDR_CNTL_OE_EN | \
+				 DDR_CKE | DDR_TWR(13) | DDR_TRTW(14) | \
+				 DDR_TRTP(8) | DDR_TWTR(14) | \
+				 DDR_G_OPEN_L(6) | DDR_HALF_WIDTH_LOW)
+#define DDR2_CONF2_REG_VAL      (DDR_BURST_LEN(8) | DDR_CNTL_OE_EN | \
+				 DDR_CKE | DDR_TWR(1) | DDR_TRTW(14) | \
+				 DDR_TRTP(9) | DDR_TWTR(21) | \
+				 DDR_G_OPEN_L(8) | DDR_HALF_WIDTH_LOW)
+
+#define DDR_TWR_MSB             BIT(3)
+#define DDR_TRAS_MSB            BIT(2)
+#define DDR_TRFC_MSB_M          0x3
+#define DDR_TRFC_MSB(x)         (x)
+#define DDR1_CONF3_REG_VAL      0
+#define DDR2_CONF3_REG_VAL      (DDR_TWR_MSB | DDR_TRFC_MSB(2))
+
+#define DDR_CTL_SRAM_TSEL       BIT(30)
+#define DDR_CTL_SRAM_GE0_SYNC   BIT(20)
+#define DDR_CTL_SRAM_GE1_SYNC   BIT(19)
+#define DDR_CTL_SRAM_USB_SYNC   BIT(18)
+#define DDR_CTL_SRAM_PCIE_SYNC  BIT(17)
+#define DDR_CTL_SRAM_WMAC_SYNC  BIT(16)
+#define DDR_CTL_SRAM_MISC1_SYNC BIT(15)
+#define DDR_CTL_SRAM_MISC2_SYNC BIT(14)
+#define DDR_CTL_PAD_DDR2_SEL    BIT(6)
+#define DDR_CTL_HALF_WIDTH      BIT(1)
+#define DDR_CTL_CONFIG_VAL      (DDR_CTL_SRAM_TSEL | \
+				 DDR_CTL_SRAM_GE0_SYNC | \
+				 DDR_CTL_SRAM_GE1_SYNC | \
+				 DDR_CTL_SRAM_USB_SYNC | \
+				 DDR_CTL_SRAM_PCIE_SYNC | \
+				 DDR_CTL_SRAM_WMAC_SYNC | \
+				 DDR_CTL_HALF_WIDTH)
+
+#define DDR_BURST_GE0_MAX_BL_S  0
+#define DDR_BURST_GE0_MAX_BL_M  0xf
+#define DDR_BURST_GE0_MAX_BL(x) \
+	(((x) & DDR_BURST_GE0_MAX_BL_M) << DDR_BURST_GE0_MAX_BL_S)
+#define DDR_BURST_GE1_MAX_BL_S  4
+#define DDR_BURST_GE1_MAX_BL_M  0xf
+#define DDR_BURST_GE1_MAX_BL(x) \
+	(((x) & DDR_BURST_GE1_MAX_BL_M) << DDR_BURST_GE1_MAX_BL_S)
+#define DDR_BURST_PCIE_MAX_BL_S 8
+#define DDR_BURST_PCIE_MAX_BL_M 0xf
+#define DDR_BURST_PCIE_MAX_BL(x) \
+	(((x) & DDR_BURST_PCIE_MAX_BL_M) << DDR_BURST_PCIE_MAX_BL_S)
+#define DDR_BURST_USB_MAX_BL_S  12
+#define DDR_BURST_USB_MAX_BL_M  0xf
+#define DDR_BURST_USB_MAX_BL(x) \
+	(((x) & DDR_BURST_USB_MAX_BL_M) << DDR_BURST_USB_MAX_BL_S)
+#define DDR_BURST_CPU_MAX_BL_S  16
+#define DDR_BURST_CPU_MAX_BL_M  0xf
+#define DDR_BURST_CPU_MAX_BL(x) \
+	(((x) & DDR_BURST_CPU_MAX_BL_M) << DDR_BURST_CPU_MAX_BL_S)
+#define DDR_BURST_RD_MAX_BL_S   20
+#define DDR_BURST_RD_MAX_BL_M   0xf
+#define DDR_BURST_RD_MAX_BL(x) \
+	(((x) & DDR_BURST_RD_MAX_BL_M) << DDR_BURST_RD_MAX_BL_S)
+#define DDR_BURST_WR_MAX_BL_S   24
+#define DDR_BURST_WR_MAX_BL_M   0xf
+#define DDR_BURST_WR_MAX_BL(x) \
+	(((x) & DDR_BURST_WR_MAX_BL_M) << DDR_BURST_WR_MAX_BL_S)
+#define DDR_BURST_RWP_MASK_EN_S 28
+#define DDR_BURST_RWP_MASK_EN_M 0x3
+#define DDR_BURST_RWP_MASK_EN(x) \
+	(((x) & DDR_BURST_RWP_MASK_EN_M) << DDR_BURST_RWP_MASK_EN_S)
+#define DDR_BURST_CPU_PRI_BE    BIT(30)
+#define DDR_BURST_CPU_PRI       BIT(31)
+#define DDR_BURST_VAL           (DDR_BURST_CPU_PRI_BE | \
+				 DDR_BURST_RWP_MASK_EN(3) | \
+				 DDR_BURST_WR_MAX_BL(4) | \
+				 DDR_BURST_RD_MAX_BL(4) | \
+				 DDR_BURST_CPU_MAX_BL(4) | \
+				 DDR_BURST_USB_MAX_BL(4) | \
+				 DDR_BURST_PCIE_MAX_BL(4) | \
+				 DDR_BURST_GE1_MAX_BL(4) | \
+				 DDR_BURST_GE0_MAX_BL(4))
+
+#define DDR_BURST_WMAC_MAX_BL_S 0
+#define DDR_BURST_WMAC_MAX_BL_M 0xf
+#define DDR_BURST_WMAC_MAX_BL(x) \
+	(((x) & DDR_BURST_WMAC_MAX_BL_M) << DDR_BURST_WMAC_MAX_BL_S)
+#define DDR_BURST2_VAL          DDR_BURST_WMAC_MAX_BL(4)
+
+#define DDR2_CONF_TWL_S         10
+#define DDR2_CONF_TWL_M         0xf
+#define DDR2_CONF_TWL(x) \
+	(((x) & DDR2_CONF_TWL_M) << DDR2_CONF_TWL_S)
+#define DDR2_CONF_ODT           BIT(9)
+#define DDR2_CONF_TFAW_S        2
+#define DDR2_CONF_TFAW_M        0x3f
+#define DDR2_CONF_TFAW(x) \
+	(((x) & DDR2_CONF_TFAW_M) << DDR2_CONF_TFAW_S)
+#define DDR2_CONF_EN            BIT(0)
+#define DDR2_CONF_VAL           (DDR2_CONF_TWL(5) | \
+				 DDR2_CONF_TFAW(31) | \
+				 DDR2_CONF_ODT | \
+				 DDR2_CONF_EN)
+
+#define DDR1_EXT_MODE_VAL       0
+#define DDR2_EXT_MODE_VAL       0x402
+#define DDR2_EXT_MODE_OCD_VAL   0x782
+#define DDR1_MODE_DLL_VAL       0x133
+#define DDR2_MODE_DLL_VAL       0x143
+#define DDR1_MODE_VAL           0x33
+#define DDR2_MODE_VAL           0x43
+#define DDR1_TAP_VAL            0x20
+#define DDR2_TAP_VAL            0x10
+
+#define DDR_REG_BIST_MASK_ADDR_0        0x2c
+#define DDR_REG_BIST_MASK_ADDR_1        0x30
+#define DDR_REG_BIST_MASK_AHB_GE0_0     0x34
+#define DDR_REG_BIST_COMP_AHB_GE0_0     0x38
+#define DDR_REG_BIST_MASK_AHB_GE1_0     0x3c
+#define DDR_REG_BIST_COMP_AHB_GE1_0     0x40
+#define DDR_REG_BIST_COMP_ADDR_0        0x64
+#define DDR_REG_BIST_COMP_ADDR_1        0x68
+#define DDR_REG_BIST_MASK_AHB_GE0_1     0x6c
+#define DDR_REG_BIST_COMP_AHB_GE0_1     0x70
+#define DDR_REG_BIST_MASK_AHB_GE1_1     0x74
+#define DDR_REG_BIST_COMP_AHB_GE1_1     0x78
+#define DDR_REG_BIST                    0x11c
+#define DDR_REG_BIST_STATUS             0x120
+
+#define DDR_BIST_COMP_CNT_S     1
+#define DDR_BIST_COMP_CNT_M     0xff
+#define DDR_BIST_COMP_CNT(x) \
+	(((x) & DDR_BIST_COMP_CNT_M) << DDR_BIST_COMP_CNT_S)
+#define DDR_BIST_COMP_CNT_MASK \
+	(DDR_BIST_COMP_CNT_M << DDR_BIST_COMP_CNT_S)
+#define DDR_BIST_TEST_START     BIT(0)
+#define DDR_BIST_STATUS_DONE    BIT(0)
+
+/* 4 Row Address Bits, 4 Column Address Bits, 2 BA bits */
+#define DDR_BIST_MASK_ADDR_VAL  0xfa5de83f
+
+#define DDR_TAP_MAGIC_VAL       0xaa55aa55
+#define DDR_TAP_MAX_VAL         0x40
+
+void ddr_init(void)
+{
+	void __iomem *regs;
+	u32 val;
+
+	regs = map_physmem(AR71XX_DDR_CTRL_BASE, AR71XX_DDR_CTRL_SIZE,
+			   MAP_NOCACHE);
+	val = get_bootstrap();
+	if (val & QCA953X_BOOTSTRAP_DDR1) {
+		writel(DDR_CTL_CONFIG_VAL, regs + QCA953X_DDR_REG_CTL_CONF);
+		udelay(10);
+
+		/* For 16-bit DDR */
+		writel(0xffff, regs + AR71XX_DDR_REG_RD_CYCLE);
+		udelay(100);
+
+		/* Burst size */
+		writel(DDR_BURST_VAL, regs + QCA953X_DDR_REG_BURST);
+		udelay(100);
+		writel(DDR_BURST2_VAL, regs + QCA953X_DDR_REG_BURST2);
+		udelay(100);
+
+		/* AHB maximum timeout */
+		writel(0xfffff, regs + QCA953X_DDR_REG_TIMEOUT_MAX);
+		udelay(100);
+
+		/* DRAM timing */
+		writel(DDR1_CONF_REG_VAL, regs + AR71XX_DDR_REG_CONFIG);
+		udelay(100);
+		writel(DDR1_CONF2_REG_VAL, regs + AR71XX_DDR_REG_CONFIG2);
+		udelay(100);
+		writel(DDR1_CONF3_REG_VAL, regs + QCA953X_DDR_REG_CONFIG3);
+		udelay(100);
+
+		/* Precharge All */
+		writel(DDR_CTRL_PRECHARGE, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* ODT disable, Full strength, Enable DLL */
+		writel(DDR1_EXT_MODE_VAL, regs + AR71XX_DDR_REG_EMR);
+		udelay(100);
+
+		/* Update Extended Mode Register Set (EMRS) */
+		writel(DDR_CTRL_UPD_EMRS, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Reset DLL, CAS Latency 3, Burst Length 8 */
+		writel(DDR1_MODE_DLL_VAL, regs + AR71XX_DDR_REG_MODE);
+		udelay(100);
+
+		/* Update Mode Register Set (MRS) */
+		writel(DDR_CTRL_UPD_MRS, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Precharge All */
+		writel(DDR_CTRL_PRECHARGE, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Auto Refresh */
+		writel(DDR_CTRL_AUTO_REFRESH, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+		writel(DDR_CTRL_AUTO_REFRESH, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Normal DLL, CAS Latency 3, Burst Length 8 */
+		writel(DDR1_MODE_VAL, regs + AR71XX_DDR_REG_MODE);
+		udelay(100);
+
+		/* Update Mode Register Set (MRS) */
+		writel(DDR_CTRL_UPD_MRS, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Refresh time control */
+		writel(DDR_REFRESH_VAL, regs + AR71XX_DDR_REG_REFRESH);
+		udelay(100);
+
+		/* DQS 0 Tap Control */
+		writel(DDR1_TAP_VAL, regs + AR71XX_DDR_REG_TAP_CTRL0);
+
+		/* DQS 1 Tap Control */
+		writel(DDR1_TAP_VAL, regs + AR71XX_DDR_REG_TAP_CTRL1);
+	} else {
+		writel(DDR_CTRL_UPD_EMR2S, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(10);
+		writel(DDR_CTRL_UPD_EMR3S, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(10);
+		writel(DDR_CTL_CONFIG_VAL | DDR_CTL_PAD_DDR2_SEL,
+		       regs + QCA953X_DDR_REG_CTL_CONF);
+		udelay(10);
+
+		/* For 16-bit DDR */
+		writel(0xffff, regs + AR71XX_DDR_REG_RD_CYCLE);
+		udelay(100);
+
+		/* Burst size */
+		writel(DDR_BURST_VAL, regs + QCA953X_DDR_REG_BURST);
+		udelay(100);
+		writel(DDR_BURST2_VAL, regs + QCA953X_DDR_REG_BURST2);
+		udelay(100);
+
+		/* AHB maximum timeout */
+		writel(0xfffff, regs + QCA953X_DDR_REG_TIMEOUT_MAX);
+		udelay(100);
+
+		/* DRAM timing */
+		writel(DDR2_CONF_REG_VAL, regs + AR71XX_DDR_REG_CONFIG);
+		udelay(100);
+		writel(DDR2_CONF2_REG_VAL, regs + AR71XX_DDR_REG_CONFIG2);
+		udelay(100);
+		writel(DDR2_CONF3_REG_VAL, regs + QCA953X_DDR_REG_CONFIG3);
+		udelay(100);
+
+		/* Enable DDR2 */
+		writel(DDR2_CONF_VAL, regs + QCA953X_DDR_REG_DDR2_CONFIG);
+		udelay(100);
+
+		/* Precharge All */
+		writel(DDR_CTRL_PRECHARGE, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Update Extended Mode Register 2 Set (EMR2S) */
+		writel(DDR_CTRL_UPD_EMR2S, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Update Extended Mode Register 3 Set (EMR3S) */
+		writel(DDR_CTRL_UPD_EMR3S, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* 150 ohm, Reduced strength, Enable DLL */
+		writel(DDR2_EXT_MODE_VAL, regs + AR71XX_DDR_REG_EMR);
+		udelay(100);
+
+		/* Update Extended Mode Register Set (EMRS) */
+		writel(DDR_CTRL_UPD_EMRS, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Reset DLL, CAS Latency 4, Burst Length 8 */
+		writel(DDR2_MODE_DLL_VAL, regs + AR71XX_DDR_REG_MODE);
+		udelay(100);
+
+		/* Update Mode Register Set (MRS) */
+		writel(DDR_CTRL_UPD_MRS, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Precharge All */
+		writel(DDR_CTRL_PRECHARGE, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Auto Refresh */
+		writel(DDR_CTRL_AUTO_REFRESH, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+		writel(DDR_CTRL_AUTO_REFRESH, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Normal DLL, CAS Latency 4, Burst Length 8 */
+		writel(DDR2_MODE_VAL, regs + AR71XX_DDR_REG_MODE);
+		udelay(100);
+
+		/* Mode Register Set (MRS) */
+		writel(DDR_CTRL_UPD_MRS, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Enable OCD, Enable DLL, Reduced Drive Strength */
+		writel(DDR2_EXT_MODE_OCD_VAL, regs + AR71XX_DDR_REG_EMR);
+		udelay(100);
+
+		/* Update Extended Mode Register Set (EMRS) */
+		writel(DDR_CTRL_UPD_EMRS, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* OCD diable, Enable DLL, Reduced Drive Strength */
+		writel(DDR2_EXT_MODE_VAL, regs + AR71XX_DDR_REG_EMR);
+		udelay(100);
+
+		/* Update Extended Mode Register Set (EMRS) */
+		writel(DDR_CTRL_UPD_EMRS, regs + AR71XX_DDR_REG_CONTROL);
+		udelay(100);
+
+		/* Refresh time control */
+		writel(DDR_REFRESH_VAL, regs + AR71XX_DDR_REG_REFRESH);
+		udelay(100);
+
+		/* DQS 0 Tap Control */
+		writel(DDR2_TAP_VAL, regs + AR71XX_DDR_REG_TAP_CTRL0);
+
+		/* DQS 1 Tap Control */
+		writel(DDR2_TAP_VAL, regs + AR71XX_DDR_REG_TAP_CTRL1);
+	}
+}
+
+void ddr_tap_tuning(void)
+{
+	void __iomem *regs;
+	u32 val, pass, tap, cnt, tap_val, last, first;
+
+	regs = map_physmem(AR71XX_DDR_CTRL_BASE, AR71XX_DDR_CTRL_SIZE,
+			   MAP_NOCACHE);
+
+	tap_val = readl(regs + AR71XX_DDR_REG_TAP_CTRL0);
+	first = DDR_TAP_MAGIC_VAL;
+	last = 0;
+	cnt = 0;
+	tap = 0;
+
+	do {
+		writel(tap, regs + AR71XX_DDR_REG_TAP_CTRL0);
+		writel(tap, regs + AR71XX_DDR_REG_TAP_CTRL1);
+
+		writel(DDR_BIST_COMP_CNT(8), regs + DDR_REG_BIST_COMP_ADDR_1);
+		writel(DDR_BIST_MASK_ADDR_VAL, regs + DDR_REG_BIST_MASK_ADDR_0);
+		writel(0xffff, regs + DDR_REG_BIST_COMP_AHB_GE0_1);
+		writel(0xffff, regs + DDR_REG_BIST_COMP_AHB_GE1_0);
+		writel(0xffff, regs + DDR_REG_BIST_COMP_AHB_GE1_1);
+		writel(0xffff, regs + DDR_REG_BIST_MASK_AHB_GE0_0);
+		writel(0xffff, regs + DDR_REG_BIST_MASK_AHB_GE0_1);
+		writel(0xffff, regs + DDR_REG_BIST_MASK_AHB_GE1_0);
+		writel(0xffff, regs + DDR_REG_BIST_MASK_AHB_GE1_1);
+		writel(0xffff, regs + DDR_REG_BIST_COMP_AHB_GE0_0);
+
+		/* Start BIST test */
+		writel(DDR_BIST_TEST_START, regs + DDR_REG_BIST);
+
+		do {
+			val = readl(regs + DDR_REG_BIST_STATUS);
+		} while (!(val & DDR_BIST_STATUS_DONE));
+
+		/* Stop BIST test */
+		writel(0, regs + DDR_REG_BIST);
+
+		pass = val & DDR_BIST_COMP_CNT_MASK;
+		pass ^= DDR_BIST_COMP_CNT(8);
+		if (!pass) {
+			if (first != DDR_TAP_MAGIC_VAL) {
+				last = tap;
+			} else  {
+				first = tap;
+				last = tap;
+			}
+			cnt++;
+		}
+		tap++;
+	} while (tap < DDR_TAP_MAX_VAL);
+
+	if (cnt) {
+		tap_val = (first + last) / 2;
+		tap_val %= DDR_TAP_MAX_VAL;
+	}
+
+	writel(tap_val, regs + AR71XX_DDR_REG_TAP_CTRL0);
+	writel(tap_val, regs + AR71XX_DDR_REG_TAP_CTRL1);
+}
diff --git a/arch/mips/mach-ath79/qca953x/lowlevel_init.S b/arch/mips/mach-ath79/qca953x/lowlevel_init.S
new file mode 100644
index 0000000..d7038fa
--- /dev/null
+++ b/arch/mips/mach-ath79/qca953x/lowlevel_init.S
@@ -0,0 +1,186 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ * Based on Atheros LSDK/QSDK
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <config.h>
+#include <asm/asm.h>
+#include <asm/regdef.h>
+#include <asm/mipsregs.h>
+#include <asm/addrspace.h>
+#include <mach/ar71xx_regs.h>
+
+#define MK_PLL_CONF(divint, refdiv, range, outdiv) \
+     (((0x3F & divint) << 10) | \
+     ((0x1F & refdiv) << 16) | \
+     ((0x1 & range)   << 21) | \
+     ((0x7 & outdiv)  << 23) )
+
+#define MK_CLK_CNTL(cpudiv, ddrdiv, ahbdiv) \
+    (((0x3 & (cpudiv - 1)) << 5)  | \
+    ((0x3 & (ddrdiv - 1)) << 10) | \
+    ((0x3 & (ahbdiv - 1)) << 15) )
+
+#define SET_FIELD(name, v)      (((v) & QCA953X_##name##_MASK) << \
+				 QCA953X_##name##_SHIFT)
+
+#define DPLL2_KI(v)             SET_FIELD(SRIF_DPLL2_KI, v)
+#define DPLL2_KD(v)             SET_FIELD(SRIF_DPLL2_KD, v)
+#define DPLL2_PWD               QCA953X_SRIF_DPLL2_PWD
+#define MK_DPLL2(ki, kd)        (DPLL2_KI(ki) | DPLL2_KD(kd) | DPLL2_PWD)
+
+#define PLL_CPU_NFRAC(v)        SET_FIELD(PLL_CPU_CONFIG_NFRAC, v)
+#define PLL_CPU_NINT(v)         SET_FIELD(PLL_CPU_CONFIG_NINT, v)
+#define PLL_CPU_REFDIV(v)       SET_FIELD(PLL_CPU_CONFIG_REFDIV, v)
+#define PLL_CPU_OUTDIV(v)       SET_FIELD(PLL_CPU_CONFIG_OUTDIV, v)
+#define MK_PLL_CPU_CONF(frac, nint, ref, outdiv) \
+				(PLL_CPU_NFRAC(frac) | \
+				 PLL_CPU_NINT(nint) | \
+				 PLL_CPU_REFDIV(ref) | \
+				 PLL_CPU_OUTDIV(outdiv))
+
+#define PLL_DDR_NFRAC(v)        SET_FIELD(PLL_DDR_CONFIG_NFRAC, v)
+#define PLL_DDR_NINT(v)         SET_FIELD(PLL_DDR_CONFIG_NINT, v)
+#define PLL_DDR_REFDIV(v)       SET_FIELD(PLL_DDR_CONFIG_REFDIV, v)
+#define PLL_DDR_OUTDIV(v)       SET_FIELD(PLL_DDR_CONFIG_OUTDIV, v)
+#define MK_PLL_DDR_CONF(frac, nint, ref, outdiv) \
+				(PLL_DDR_NFRAC(frac) | \
+				 PLL_DDR_REFDIV(ref) | \
+				 PLL_DDR_NINT(nint) | \
+				 PLL_DDR_OUTDIV(outdiv) | \
+				 QCA953X_PLL_CONFIG_PWD)
+
+#define PLL_CPU_CONF_VAL        MK_PLL_CPU_CONF(0, 26, 1, 0)
+#define PLL_DDR_CONF_VAL        MK_PLL_DDR_CONF(0, 15, 1, 0)
+
+#define PLL_CLK_CTRL_PLL_BYPASS (QCA953X_PLL_CLK_CTRL_CPU_PLL_BYPASS | \
+				 QCA953X_PLL_CLK_CTRL_DDR_PLL_BYPASS | \
+				 QCA953X_PLL_CLK_CTRL_AHB_PLL_BYPASS)
+
+#define PLL_CLK_CTRL_CPU_DIV(v) SET_FIELD(PLL_CLK_CTRL_CPU_POST_DIV, v)
+#define PLL_CLK_CTRL_DDR_DIV(v) SET_FIELD(PLL_CLK_CTRL_DDR_POST_DIV, v)
+#define PLL_CLK_CTRL_AHB_DIV(v) SET_FIELD(PLL_CLK_CTRL_AHB_POST_DIV, v)
+#define MK_PLL_CLK_CTRL(cpu, ddr, ahb) \
+				(PLL_CLK_CTRL_CPU_DIV(cpu) | \
+				 PLL_CLK_CTRL_DDR_DIV(ddr) | \
+				 PLL_CLK_CTRL_AHB_DIV(ahb))
+#define PLL_CLK_CTRL_VAL    (MK_PLL_CLK_CTRL(0, 0, 2) | \
+			     PLL_CLK_CTRL_PLL_BYPASS | \
+			     QCA953X_PLL_CLK_CTRL_CPUCLK_FROM_CPUPLL | \
+			     QCA953X_PLL_CLK_CTRL_DDRCLK_FROM_DDRPLL)
+
+#define PLL_DDR_DIT_FRAC_MAX(v)     SET_FIELD(PLL_DDR_DIT_FRAC_MAX, v)
+#define PLL_DDR_DIT_FRAC_MIN(v)     SET_FIELD(PLL_DDR_DIT_FRAC_MIN, v)
+#define PLL_DDR_DIT_FRAC_STEP(v)    SET_FIELD(PLL_DDR_DIT_FRAC_STEP, v)
+#define PLL_DDR_DIT_UPD_CNT(v)      SET_FIELD(PLL_DDR_DIT_UPD_CNT, v)
+#define PLL_CPU_DIT_FRAC_MAX(v)     SET_FIELD(PLL_CPU_DIT_FRAC_MAX, v)
+#define PLL_CPU_DIT_FRAC_MIN(v)     SET_FIELD(PLL_CPU_DIT_FRAC_MIN, v)
+#define PLL_CPU_DIT_FRAC_STEP(v)    SET_FIELD(PLL_CPU_DIT_FRAC_STEP, v)
+#define PLL_CPU_DIT_UPD_CNT(v)      SET_FIELD(PLL_CPU_DIT_UPD_CNT, v)
+#define MK_PLL_DDR_DIT_FRAC(max, min, step, cnt) \
+				(QCA953X_PLL_DIT_FRAC_EN | \
+				 PLL_DDR_DIT_FRAC_MAX(max) | \
+				 PLL_DDR_DIT_FRAC_MIN(min) | \
+				 PLL_DDR_DIT_FRAC_STEP(step) | \
+				 PLL_DDR_DIT_UPD_CNT(cnt))
+#define MK_PLL_CPU_DIT_FRAC(max, min, step, cnt) \
+				(QCA953X_PLL_DIT_FRAC_EN | \
+				 PLL_CPU_DIT_FRAC_MAX(max) | \
+				 PLL_CPU_DIT_FRAC_MIN(min) | \
+				 PLL_CPU_DIT_FRAC_STEP(step) | \
+				 PLL_CPU_DIT_UPD_CNT(cnt))
+#define PLL_CPU_DIT_FRAC_VAL    MK_PLL_CPU_DIT_FRAC(63, 0, 1, 15)
+#define PLL_DDR_DIT_FRAC_VAL    MK_PLL_DDR_DIT_FRAC(763, 635, 1, 15)
+
+    .text
+    .set noreorder
+
+LEAF(lowlevel_init)
+	/* RTC Reset */
+	li      t0, CKSEG1ADDR(AR71XX_RESET_BASE)
+	lw      t1, QCA953X_RESET_REG_RESET_MODULE(t0)
+	li      t2, 0x08000000
+	or      t1, t1, t2
+	sw      t1, QCA953X_RESET_REG_RESET_MODULE(t0)
+	nop
+	lw      t1, QCA953X_RESET_REG_RESET_MODULE(t0)
+	li      t2, 0xf7ffffff
+	and     t1, t1, t2
+	sw      t1, QCA953X_RESET_REG_RESET_MODULE(t0)
+	nop
+
+	/* RTC Force Wake */
+	li      t0, CKSEG1ADDR(QCA953X_RTC_BASE)
+	li      t1, 0x01
+	sw      t1, QCA953X_RTC_REG_SYNC_RESET(t0)
+	nop
+	nop
+
+	/* Wait for RTC in on state */
+1:
+	lw      t1, QCA953X_RTC_REG_SYNC_STATUS(t0)
+	andi    t1, t1, 0x02
+	beqz    t1, 1b
+	nop
+
+	li      t0, CKSEG1ADDR(QCA953X_SRIF_BASE)
+	li      t1, MK_DPLL2(2, 16)
+	sw      t1, QCA953X_SRIF_BB_DPLL2_REG(t0)
+	sw      t1, QCA953X_SRIF_PCIE_DPLL2_REG(t0)
+	sw      t1, QCA953X_SRIF_DDR_DPLL2_REG(t0)
+	sw      t1, QCA953X_SRIF_CPU_DPLL2_REG(t0)
+
+	li      t0, CKSEG1ADDR(AR71XX_PLL_BASE)
+	lw      t1, QCA953X_PLL_CLK_CTRL_REG(t0)
+	ori     t1, PLL_CLK_CTRL_PLL_BYPASS
+	sw      t1, QCA953X_PLL_CLK_CTRL_REG(t0)
+	nop
+
+	li      t1, PLL_CPU_CONF_VAL
+	sw      t1, QCA953X_PLL_CPU_CONFIG_REG(t0)
+	nop
+
+	li      t1, PLL_DDR_CONF_VAL
+	sw      t1, QCA953X_PLL_DDR_CONFIG_REG(t0)
+	nop
+
+	li      t1, PLL_CLK_CTRL_VAL
+	sw      t1, QCA953X_PLL_CLK_CTRL_REG(t0)
+	nop
+
+	lw      t1, QCA953X_PLL_CPU_CONFIG_REG(t0)
+	li      t2, ~QCA953X_PLL_CONFIG_PWD
+	and     t1, t1, t2
+	sw      t1, QCA953X_PLL_CPU_CONFIG_REG(t0)
+	nop
+
+	lw      t1, QCA953X_PLL_DDR_CONFIG_REG(t0)
+	li      t2, ~QCA953X_PLL_CONFIG_PWD
+	and     t1, t1, t2
+	sw      t1, QCA953X_PLL_DDR_CONFIG_REG(t0)
+	nop
+
+	lw      t1, QCA953X_PLL_CLK_CTRL_REG(t0)
+	li      t2, ~PLL_CLK_CTRL_PLL_BYPASS
+	and     t1, t1, t2
+	sw      t1, QCA953X_PLL_CLK_CTRL_REG(t0)
+	nop
+
+	li      t1, PLL_DDR_DIT_FRAC_VAL
+	sw      t1, QCA953X_PLL_DDR_DIT_FRAC_REG(t0)
+	nop
+
+	li      t1, PLL_CPU_DIT_FRAC_VAL
+	sw      t1, QCA953X_PLL_CPU_DIT_FRAC_REG(t0)
+	nop
+
+	li      t0, CKSEG1ADDR(AR71XX_RESET_BASE)
+	lui     t1, 0x03fc
+	sw      t1, 0xb4(t0)
+
+	nop
+	jr ra
+	 nop
+    END(lowlevel_init)
diff --git a/arch/mips/mach-ath79/reset.c b/arch/mips/mach-ath79/reset.c
new file mode 100644
index 0000000..188eccb
--- /dev/null
+++ b/arch/mips/mach-ath79/reset.c
@@ -0,0 +1,208 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/errno.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <mach/ath79.h>
+#include <mach/ar71xx_regs.h>
+
+void _machine_restart(void)
+{
+	void __iomem *base;
+	u32 reg = 0;
+
+	base = map_physmem(AR71XX_RESET_BASE, AR71XX_RESET_SIZE,
+			   MAP_NOCACHE);
+	if (soc_is_ar71xx())
+		reg = AR71XX_RESET_REG_RESET_MODULE;
+	else if (soc_is_ar724x())
+		reg = AR724X_RESET_REG_RESET_MODULE;
+	else if (soc_is_ar913x())
+		reg = AR913X_RESET_REG_RESET_MODULE;
+	else if (soc_is_ar933x())
+		reg = AR933X_RESET_REG_RESET_MODULE;
+	else if (soc_is_ar934x())
+		reg = AR934X_RESET_REG_RESET_MODULE;
+	else if (soc_is_qca953x())
+		reg = QCA953X_RESET_REG_RESET_MODULE;
+	else if (soc_is_qca955x())
+		reg = QCA955X_RESET_REG_RESET_MODULE;
+	else if (soc_is_qca956x())
+		reg = QCA956X_RESET_REG_RESET_MODULE;
+	else
+		puts("Reset register not defined for this SOC\n");
+
+	if (reg)
+		setbits_be32(base + reg, AR71XX_RESET_FULL_CHIP);
+
+	while (1)
+		/* NOP */;
+}
+
+u32 get_bootstrap(void)
+{
+	void __iomem *base;
+	u32 reg = 0;
+
+	base = map_physmem(AR71XX_RESET_BASE, AR71XX_RESET_SIZE,
+			   MAP_NOCACHE);
+	if (soc_is_ar933x())
+		reg = AR933X_RESET_REG_BOOTSTRAP;
+	else if (soc_is_ar934x())
+		reg = AR934X_RESET_REG_BOOTSTRAP;
+	else if (soc_is_qca953x())
+		reg = QCA953X_RESET_REG_BOOTSTRAP;
+	else if (soc_is_qca955x())
+		reg = QCA955X_RESET_REG_BOOTSTRAP;
+	else if (soc_is_qca956x())
+		reg = QCA956X_RESET_REG_BOOTSTRAP;
+	else
+		puts("Bootstrap register not defined for this SOC\n");
+
+	if (reg)
+		return readl(base + reg);
+
+	return 0;
+}
+
+static int eth_init_ar933x(void)
+{
+	void __iomem *rregs = map_physmem(AR71XX_RESET_BASE, AR71XX_RESET_SIZE,
+					  MAP_NOCACHE);
+	void __iomem *pregs = map_physmem(AR71XX_PLL_BASE, AR71XX_PLL_SIZE,
+					  MAP_NOCACHE);
+	void __iomem *gregs = map_physmem(AR933X_GMAC_BASE, AR933X_GMAC_SIZE,
+					  MAP_NOCACHE);
+	const u32 mask = AR933X_RESET_GE0_MAC | AR933X_RESET_GE0_MDIO |
+			 AR933X_RESET_GE1_MAC | AR933X_RESET_GE1_MDIO |
+			 AR933X_RESET_ETH_SWITCH;
+
+	/* Clear MDIO slave EN bit. */
+	clrbits_be32(rregs + AR933X_RESET_REG_BOOTSTRAP, BIT(17));
+	mdelay(10);
+
+	/* Get Atheros S26 PHY out of reset. */
+	clrsetbits_be32(pregs + AR934X_PLL_SWITCH_CLOCK_CONTROL_REG,
+			0x1f, 0x10);
+	mdelay(10);
+
+	setbits_be32(rregs + AR933X_RESET_REG_RESET_MODULE, mask);
+	mdelay(10);
+	clrbits_be32(rregs + AR933X_RESET_REG_RESET_MODULE, mask);
+	mdelay(10);
+
+	/* Configure AR93xx GMAC register. */
+	clrsetbits_be32(gregs + AR933X_GMAC_REG_ETH_CFG,
+			AR933X_ETH_CFG_MII_GE0_MASTER |
+			AR933X_ETH_CFG_MII_GE0_SLAVE,
+			AR933X_ETH_CFG_MII_GE0_SLAVE);
+	return 0;
+}
+
+static int eth_init_ar934x(void)
+{
+	void __iomem *rregs = map_physmem(AR71XX_RESET_BASE, AR71XX_RESET_SIZE,
+					  MAP_NOCACHE);
+	void __iomem *pregs = map_physmem(AR71XX_PLL_BASE, AR71XX_PLL_SIZE,
+					  MAP_NOCACHE);
+	void __iomem *gregs = map_physmem(AR934X_GMAC_BASE, AR934X_GMAC_SIZE,
+					  MAP_NOCACHE);
+	const u32 mask = AR934X_RESET_GE0_MAC | AR934X_RESET_GE0_MDIO |
+			 AR934X_RESET_GE1_MAC | AR934X_RESET_GE1_MDIO |
+			 AR934X_RESET_ETH_SWITCH_ANALOG;
+	u32 reg;
+
+	reg = readl(rregs + AR934X_RESET_REG_BOOTSTRAP);
+	if (reg & AR934X_BOOTSTRAP_REF_CLK_40)
+		writel(0x570, pregs + AR934X_PLL_SWITCH_CLOCK_CONTROL_REG);
+	else
+		writel(0x271, pregs + AR934X_PLL_SWITCH_CLOCK_CONTROL_REG);
+	writel(BIT(26) | BIT(25), pregs + AR934X_PLL_ETH_XMII_CONTROL_REG);
+
+	setbits_be32(rregs + AR934X_RESET_REG_RESET_MODULE, mask);
+	mdelay(1);
+	clrbits_be32(rregs + AR934X_RESET_REG_RESET_MODULE, mask);
+	mdelay(1);
+
+	/* Configure AR934x GMAC register. */
+	writel(AR934X_ETH_CFG_RGMII_GMAC0, gregs + AR934X_GMAC_REG_ETH_CFG);
+	return 0;
+}
+
+int ath79_eth_reset(void)
+{
+	/*
+	 * Un-reset ethernet. DM still doesn't have any notion of reset
+	 * framework, so we do it by hand here.
+	 */
+	if (soc_is_ar933x())
+		return eth_init_ar933x();
+	if (soc_is_ar934x())
+		return eth_init_ar934x();
+
+	return -EINVAL;
+}
+
+static int usb_reset_ar933x(void __iomem *reset_regs)
+{
+	/* Ungate the USB block */
+	setbits_be32(reset_regs + AR933X_RESET_REG_RESET_MODULE,
+		     AR933X_RESET_USBSUS_OVERRIDE);
+	mdelay(1);
+	clrbits_be32(reset_regs + AR933X_RESET_REG_RESET_MODULE,
+		     AR933X_RESET_USB_HOST);
+	mdelay(1);
+	clrbits_be32(reset_regs + AR933X_RESET_REG_RESET_MODULE,
+		     AR933X_RESET_USB_PHY);
+	mdelay(1);
+
+	return 0;
+}
+
+static int usb_reset_ar934x(void __iomem *reset_regs)
+{
+	/* Ungate the USB block */
+	setbits_be32(reset_regs + AR934X_RESET_REG_RESET_MODULE,
+		     AR934X_RESET_USBSUS_OVERRIDE);
+	mdelay(1);
+	clrbits_be32(reset_regs + AR934X_RESET_REG_RESET_MODULE,
+		     AR934X_RESET_USB_PHY);
+	mdelay(1);
+	clrbits_be32(reset_regs + AR934X_RESET_REG_RESET_MODULE,
+		     AR934X_RESET_USB_PHY_ANALOG);
+	mdelay(1);
+	clrbits_be32(reset_regs + AR934X_RESET_REG_RESET_MODULE,
+		     AR934X_RESET_USB_HOST);
+	mdelay(1);
+
+	return 0;
+}
+
+int ath79_usb_reset(void)
+{
+	void __iomem *usbc_regs = map_physmem(AR71XX_USB_CTRL_BASE,
+					      AR71XX_USB_CTRL_SIZE,
+					      MAP_NOCACHE);
+	void __iomem *reset_regs = map_physmem(AR71XX_RESET_BASE,
+					       AR71XX_RESET_SIZE,
+					       MAP_NOCACHE);
+	/*
+	 * Turn on the Buff and Desc swap bits.
+	 * NOTE: This write into an undocumented register in mandatory to
+	 *       get the USB controller operational in BigEndian mode.
+	 */
+	writel(0xf0000, usbc_regs + AR71XX_USB_CTRL_REG_CONFIG);
+
+	if (soc_is_ar933x())
+		return usb_reset_ar933x(reset_regs);
+	if (soc_is_ar934x())
+		return usb_reset_ar934x(reset_regs);
+
+	return -EINVAL;
+}
diff --git a/arch/powerpc/include/asm/fsl_i2c.h b/arch/powerpc/include/asm/fsl_i2c.h
index cbbc834..d2586f9 100644
--- a/arch/powerpc/include/asm/fsl_i2c.h
+++ b/arch/powerpc/include/asm/fsl_i2c.h
@@ -16,7 +16,7 @@
 
 #include <asm/types.h>
 
-typedef struct fsl_i2c {
+typedef struct fsl_i2c_base {
 
 	u8 adr;		/* I2C slave address */
 	u8 res0[3];
@@ -68,4 +68,14 @@
 	u8 res6[0xE8];
 } fsl_i2c_t;
 
+#ifdef CONFIG_DM_I2C
+struct fsl_i2c_dev {
+	struct fsl_i2c_base __iomem *base;      /* register base */
+	u32 i2c_clk;
+	u32 index;
+	u8 slaveadd;
+	uint speed;
+};
+#endif
+
 #endif	/* _ASM_I2C_H_ */
diff --git a/arch/powerpc/include/asm/immap_85xx.h b/arch/powerpc/include/asm/immap_85xx.h
index 53ca6d9..07d2adf 100644
--- a/arch/powerpc/include/asm/immap_85xx.h
+++ b/arch/powerpc/include/asm/immap_85xx.h
@@ -120,8 +120,8 @@
 
 /* I2C Registers */
 typedef struct ccsr_i2c {
-	struct fsl_i2c	i2c[1];
-	u8	res[4096 - 1 * sizeof(struct fsl_i2c)];
+	struct fsl_i2c_base	i2c[1];
+	u8	res[4096 - 1 * sizeof(struct fsl_i2c_base)];
 } ccsr_i2c_t;
 
 #if defined(CONFIG_MPC8540) \
diff --git a/arch/powerpc/include/asm/immap_86xx.h b/arch/powerpc/include/asm/immap_86xx.h
index 177918b..b078569 100644
--- a/arch/powerpc/include/asm/immap_86xx.h
+++ b/arch/powerpc/include/asm/immap_86xx.h
@@ -92,8 +92,8 @@
 
 /* Daul I2C Registers(0x3000-0x4000) */
 typedef struct ccsr_i2c {
-	struct fsl_i2c	i2c[2];
-	u8	res[4096 - 2 * sizeof(struct fsl_i2c)];
+	struct fsl_i2c_base	i2c[2];
+	u8	res[4096 - 2 * sizeof(struct fsl_i2c_base)];
 } ccsr_i2c_t;
 
 /* DUART Registers(0x4000-0x5000) */
diff --git a/arch/sandbox/include/asm/io.h b/arch/sandbox/include/asm/io.h
index b87ee19..6919632 100644
--- a/arch/sandbox/include/asm/io.h
+++ b/arch/sandbox/include/asm/io.h
@@ -56,6 +56,21 @@
 void outw(unsigned int value, unsigned int addr);
 void outb(unsigned int value, unsigned int addr);
 
+static inline void _insw(volatile u16 *port, void *buf, int ns)
+{
+}
+
+static inline void _outsw(volatile u16 *port, const void *buf, int ns)
+{
+}
+
+#define insw(port, buf, ns)		_insw((u16 *)port, buf, ns)
+#define outsw(port, buf, ns)		_outsw((u16 *)port, buf, ns)
+
+/* For systemace.c */
+#define out16(addr, val)
+#define in16(addr)		0
+
 #include <iotrace.h>
 #include <asm/types.h>
 
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 4ef27dc..29d2307 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -47,6 +47,9 @@
 
 # architecture-specific options below
 
+config AHCI
+	default y
+
 config SYS_MALLOC_F_LEN
 	default 0x800
 
@@ -271,6 +274,13 @@
 	  to be used for speeding up boot time on future reboots and/or
 	  power cycles.
 
+	  For platforms that use Intel FSP for the memory initialization,
+	  please check FSP output HOB via U-Boot command 'fsp hob' to see
+	  if there is FSP_NON_VOLATILE_STORAGE_HOB_GUID (asm/fsp/fsp_hob.h).
+	  If such GUID does not exist, MRC cache is not avaiable on such
+	  platform (eg: Intel Queensbay), which means selecting this option
+	  here does not make any difference.
+
 config HAVE_MRC
 	bool "Add a System Agent binary"
 	depends on !HAVE_FSP
@@ -436,21 +446,13 @@
 config GENERATE_ACPI_TABLE
 	bool "Generate an ACPI (Advanced Configuration and Power Interface) table"
 	default n
+	select QFW if QEMU
 	help
 	  The Advanced Configuration and Power Interface (ACPI) specification
 	  provides an open standard for device configuration and management
 	  by the operating system. It defines platform-independent interfaces
 	  for configuration and power management monitoring.
 
-config QEMU_ACPI_TABLE
-	bool "Load ACPI table from QEMU fw_cfg interface"
-	depends on GENERATE_ACPI_TABLE && QEMU
-	default y
-	help
-	  By default, U-Boot generates its own ACPI tables. This option, if
-	  enabled, disables U-Boot's version and loads ACPI tables generated
-	  by QEMU.
-
 config GENERATE_SMBIOS_TABLE
 	bool "Generate an SMBIOS (System Management BIOS) table"
 	default y
@@ -462,6 +464,22 @@
 
 	  Check http://www.dmtf.org/standards/smbios for details.
 
+config SMBIOS_MANUFACTURER
+	string "SMBIOS Manufacturer"
+	depends on GENERATE_SMBIOS_TABLE
+	default SYS_VENDOR
+	help
+	  The board manufacturer to store in SMBIOS structures.
+	  Change this to override the default one (CONFIG_SYS_VENDOR).
+
+config SMBIOS_PRODUCT_NAME
+	string "SMBIOS Product Name"
+	depends on GENERATE_SMBIOS_TABLE
+	default SYS_BOARD
+	help
+	  The product name to store in SMBIOS structures.
+	  Change this to override the default one (CONFIG_SYS_BOARD).
+
 endmenu
 
 config MAX_PIRQ_LINKS
@@ -536,6 +554,20 @@
 
 	  Check http://www.seabios.org/SeaBIOS for details.
 
+config HIGH_TABLE_SIZE
+	hex "Size of configuration tables which reside in high memory"
+	default 0x10000
+	depends on SEABIOS
+	help
+	  SeaBIOS itself resides in E seg and F seg, where U-Boot puts all
+	  configuration tables like PIRQ/MP/ACPI. To avoid conflicts, U-Boot
+	  puts a copy of configuration tables in high memory region which
+	  is reserved on the stack before relocation. The region size is
+	  determined by this option.
+
+	  Increse it if the default size does not fit the board's needs.
+	  This is most likely due to a large ACPI DSDT table is used.
+
 source "arch/x86/lib/efi/Kconfig"
 
 endmenu
diff --git a/arch/x86/cpu/baytrail/Makefile b/arch/x86/cpu/baytrail/Makefile
index 5be5491..a0216f3 100644
--- a/arch/x86/cpu/baytrail/Makefile
+++ b/arch/x86/cpu/baytrail/Makefile
@@ -8,3 +8,4 @@
 obj-y += early_uart.o
 obj-y += fsp_configs.o
 obj-y += valleyview.o
+obj-$(CONFIG_GENERATE_ACPI_TABLE) += acpi.o
diff --git a/arch/x86/cpu/baytrail/acpi.c b/arch/x86/cpu/baytrail/acpi.c
new file mode 100644
index 0000000..1d54f7d
--- /dev/null
+++ b/arch/x86/cpu/baytrail/acpi.c
@@ -0,0 +1,163 @@
+/*
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/acpi_table.h>
+#include <asm/ioapic.h>
+#include <asm/mpspec.h>
+#include <asm/tables.h>
+#include <asm/arch/iomap.h>
+
+void acpi_create_fadt(struct acpi_fadt *fadt, struct acpi_facs *facs,
+		      void *dsdt)
+{
+	struct acpi_table_header *header = &(fadt->header);
+	u16 pmbase = ACPI_BASE_ADDRESS;
+
+	memset((void *)fadt, 0, sizeof(struct acpi_fadt));
+
+	acpi_fill_header(header, "FACP");
+	header->length = sizeof(struct acpi_fadt);
+	header->revision = 4;
+
+	fadt->firmware_ctrl = (u32)facs;
+	fadt->dsdt = (u32)dsdt;
+	fadt->preferred_pm_profile = ACPI_PM_MOBILE;
+	fadt->sci_int = 9;
+	fadt->smi_cmd = 0;
+	fadt->acpi_enable = 0;
+	fadt->acpi_disable = 0;
+	fadt->s4bios_req = 0;
+	fadt->pstate_cnt = 0;
+	fadt->pm1a_evt_blk = pmbase;
+	fadt->pm1b_evt_blk = 0x0;
+	fadt->pm1a_cnt_blk = pmbase + 0x4;
+	fadt->pm1b_cnt_blk = 0x0;
+	fadt->pm2_cnt_blk = pmbase + 0x50;
+	fadt->pm_tmr_blk = pmbase + 0x8;
+	fadt->gpe0_blk = pmbase + 0x20;
+	fadt->gpe1_blk = 0;
+	fadt->pm1_evt_len = 4;
+	fadt->pm1_cnt_len = 2;
+	fadt->pm2_cnt_len = 1;
+	fadt->pm_tmr_len = 4;
+	fadt->gpe0_blk_len = 8;
+	fadt->gpe1_blk_len = 0;
+	fadt->gpe1_base = 0;
+	fadt->cst_cnt = 0;
+	fadt->p_lvl2_lat = ACPI_FADT_C2_NOT_SUPPORTED;
+	fadt->p_lvl3_lat = ACPI_FADT_C3_NOT_SUPPORTED;
+	fadt->flush_size = 0;
+	fadt->flush_stride = 0;
+	fadt->duty_offset = 1;
+	fadt->duty_width = 0;
+	fadt->day_alrm = 0x0d;
+	fadt->mon_alrm = 0x00;
+	fadt->century = 0x00;
+	fadt->iapc_boot_arch = ACPI_FADT_LEGACY_DEVICES | ACPI_FADT_8042;
+	fadt->flags = ACPI_FADT_WBINVD | ACPI_FADT_C1_SUPPORTED |
+		ACPI_FADT_C2_MP_SUPPORTED | ACPI_FADT_SLEEP_BUTTON |
+		ACPI_FADT_S4_RTC_WAKE | ACPI_FADT_RESET_REGISTER |
+		ACPI_FADT_PLATFORM_CLOCK;
+
+	fadt->reset_reg.space_id = ACPI_ADDRESS_SPACE_IO;
+	fadt->reset_reg.bit_width = 8;
+	fadt->reset_reg.bit_offset = 0;
+	fadt->reset_reg.access_size = ACPI_ACCESS_SIZE_BYTE_ACCESS;
+	fadt->reset_reg.addrl = IO_PORT_RESET;
+	fadt->reset_reg.addrh = 0;
+	fadt->reset_value = SYS_RST | RST_CPU;
+
+	fadt->x_firmware_ctl_l = (u32)facs;
+	fadt->x_firmware_ctl_h = 0;
+	fadt->x_dsdt_l = (u32)dsdt;
+	fadt->x_dsdt_h = 0;
+
+	fadt->x_pm1a_evt_blk.space_id = ACPI_ADDRESS_SPACE_IO;
+	fadt->x_pm1a_evt_blk.bit_width = fadt->pm1_evt_len * 8;
+	fadt->x_pm1a_evt_blk.bit_offset = 0;
+	fadt->x_pm1a_evt_blk.access_size = ACPI_ACCESS_SIZE_DWORD_ACCESS;
+	fadt->x_pm1a_evt_blk.addrl = fadt->pm1a_evt_blk;
+	fadt->x_pm1a_evt_blk.addrh = 0x0;
+
+	fadt->x_pm1b_evt_blk.space_id = ACPI_ADDRESS_SPACE_IO;
+	fadt->x_pm1b_evt_blk.bit_width = 0;
+	fadt->x_pm1b_evt_blk.bit_offset = 0;
+	fadt->x_pm1b_evt_blk.access_size = 0;
+	fadt->x_pm1b_evt_blk.addrl = 0x0;
+	fadt->x_pm1b_evt_blk.addrh = 0x0;
+
+	fadt->x_pm1a_cnt_blk.space_id = ACPI_ADDRESS_SPACE_IO;
+	fadt->x_pm1a_cnt_blk.bit_width = fadt->pm1_cnt_len * 8;
+	fadt->x_pm1a_cnt_blk.bit_offset = 0;
+	fadt->x_pm1a_cnt_blk.access_size = ACPI_ACCESS_SIZE_WORD_ACCESS;
+	fadt->x_pm1a_cnt_blk.addrl = fadt->pm1a_cnt_blk;
+	fadt->x_pm1a_cnt_blk.addrh = 0x0;
+
+	fadt->x_pm1b_cnt_blk.space_id = ACPI_ADDRESS_SPACE_IO;
+	fadt->x_pm1b_cnt_blk.bit_width = 0;
+	fadt->x_pm1b_cnt_blk.bit_offset = 0;
+	fadt->x_pm1b_cnt_blk.access_size = 0;
+	fadt->x_pm1b_cnt_blk.addrl = 0x0;
+	fadt->x_pm1b_cnt_blk.addrh = 0x0;
+
+	fadt->x_pm2_cnt_blk.space_id = ACPI_ADDRESS_SPACE_IO;
+	fadt->x_pm2_cnt_blk.bit_width = fadt->pm2_cnt_len * 8;
+	fadt->x_pm2_cnt_blk.bit_offset = 0;
+	fadt->x_pm2_cnt_blk.access_size = ACPI_ACCESS_SIZE_BYTE_ACCESS;
+	fadt->x_pm2_cnt_blk.addrl = fadt->pm2_cnt_blk;
+	fadt->x_pm2_cnt_blk.addrh = 0x0;
+
+	fadt->x_pm_tmr_blk.space_id = ACPI_ADDRESS_SPACE_IO;
+	fadt->x_pm_tmr_blk.bit_width = fadt->pm_tmr_len * 8;
+	fadt->x_pm_tmr_blk.bit_offset = 0;
+	fadt->x_pm_tmr_blk.access_size = ACPI_ACCESS_SIZE_DWORD_ACCESS;
+	fadt->x_pm_tmr_blk.addrl = fadt->pm_tmr_blk;
+	fadt->x_pm_tmr_blk.addrh = 0x0;
+
+	fadt->x_gpe0_blk.space_id = ACPI_ADDRESS_SPACE_IO;
+	fadt->x_gpe0_blk.bit_width = fadt->gpe0_blk_len * 8;
+	fadt->x_gpe0_blk.bit_offset = 0;
+	fadt->x_gpe0_blk.access_size = ACPI_ACCESS_SIZE_DWORD_ACCESS;
+	fadt->x_gpe0_blk.addrl = fadt->gpe0_blk;
+	fadt->x_gpe0_blk.addrh = 0x0;
+
+	fadt->x_gpe1_blk.space_id = ACPI_ADDRESS_SPACE_IO;
+	fadt->x_gpe1_blk.bit_width = 0;
+	fadt->x_gpe1_blk.bit_offset = 0;
+	fadt->x_gpe1_blk.access_size = 0;
+	fadt->x_gpe1_blk.addrl = 0x0;
+	fadt->x_gpe1_blk.addrh = 0x0;
+
+	header->checksum = table_compute_checksum(fadt, header->length);
+}
+
+static int acpi_create_madt_irq_overrides(u32 current)
+{
+	struct acpi_madt_irqoverride *irqovr;
+	u16 sci_flags = MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_HIGH;
+	int length = 0;
+
+	irqovr = (void *)current;
+	length += acpi_create_madt_irqoverride(irqovr, 0, 0, 2, 0);
+
+	irqovr = (void *)(current + length);
+	length += acpi_create_madt_irqoverride(irqovr, 0, 9, 9, sci_flags);
+
+	return length;
+}
+
+u32 acpi_fill_madt(u32 current)
+{
+	current += acpi_create_madt_lapics(current);
+
+	current += acpi_create_madt_ioapic((struct acpi_madt_ioapic *)current,
+			2, IO_APIC_ADDR, 0);
+
+	current += acpi_create_madt_irq_overrides(current);
+
+	return current;
+}
diff --git a/arch/x86/cpu/baytrail/valleyview.c b/arch/x86/cpu/baytrail/valleyview.c
index 25382f9..b31f24e 100644
--- a/arch/x86/cpu/baytrail/valleyview.c
+++ b/arch/x86/cpu/baytrail/valleyview.c
@@ -53,14 +53,6 @@
 	return 0;
 }
 
-int reserve_arch(void)
-{
-#ifdef CONFIG_ENABLE_MRC_CACHE
-	return mrccache_reserve();
-#else
-	return 0;
-#endif
-}
 #endif
 
 void reset_cpu(ulong addr)
diff --git a/arch/x86/cpu/broadwell/pch.c b/arch/x86/cpu/broadwell/pch.c
index f0798a7..317f57d 100644
--- a/arch/x86/cpu/broadwell/pch.c
+++ b/arch/x86/cpu/broadwell/pch.c
@@ -109,7 +109,8 @@
 {
 	u32 reg32;
 
-	io_apic_set_id(0x02);
+	/* Make sure this is a unique ID within system */
+	io_apic_set_id(0x04);
 
 	/* affirm full set of redirection table entries ("write once") */
 	reg32 = io_apic_read(0x01);
diff --git a/arch/x86/cpu/broadwell/sata.c b/arch/x86/cpu/broadwell/sata.c
index dfb8486..2e47082 100644
--- a/arch/x86/cpu/broadwell/sata.c
+++ b/arch/x86/cpu/broadwell/sata.c
@@ -261,7 +261,7 @@
 
 U_BOOT_DRIVER(ahci_broadwell_drv) = {
 	.name		= "ahci_broadwell",
-	.id		= UCLASS_DISK,
+	.id		= UCLASS_AHCI,
 	.of_match	= broadwell_ahci_ids,
 	.ofdata_to_platdata	= broadwell_sata_ofdata_to_platdata,
 	.probe		= broadwell_sata_probe,
diff --git a/arch/x86/cpu/broadwell/sdram.c b/arch/x86/cpu/broadwell/sdram.c
index 4bf5d15..e7befde 100644
--- a/arch/x86/cpu/broadwell/sdram.c
+++ b/arch/x86/cpu/broadwell/sdram.c
@@ -190,11 +190,6 @@
 	return 0;
 }
 
-int reserve_arch(void)
-{
-	return mrccache_reserve();
-}
-
 int dram_init(void)
 {
 	struct pei_data _pei_data __aligned(8);
diff --git a/arch/x86/cpu/coreboot/coreboot.c b/arch/x86/cpu/coreboot/coreboot.c
index 845f86a..1b04203 100644
--- a/arch/x86/cpu/coreboot/coreboot.c
+++ b/arch/x86/cpu/coreboot/coreboot.c
@@ -39,15 +39,7 @@
 	return default_print_cpuinfo();
 }
 
-int last_stage_init(void)
-{
-	if (gd->flags & GD_FLG_COLD_BOOT)
-		timestamp_add_to_bootstage();
-
-	return 0;
-}
-
-void board_final_cleanup(void)
+static void board_final_cleanup(void)
 {
 	/*
 	 * Un-cache the ROM so the kernel has one
@@ -79,6 +71,16 @@
 	}
 }
 
+int last_stage_init(void)
+{
+	if (gd->flags & GD_FLG_COLD_BOOT)
+		timestamp_add_to_bootstage();
+
+	board_final_cleanup();
+
+	return 0;
+}
+
 int misc_init_r(void)
 {
 	return 0;
diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c
index 233a6c8..e522ff3 100644
--- a/arch/x86/cpu/cpu.c
+++ b/arch/x86/cpu/cpu.c
@@ -25,10 +25,12 @@
 #include <errno.h>
 #include <malloc.h>
 #include <asm/control_regs.h>
+#include <asm/coreboot_tables.h>
 #include <asm/cpu.h>
 #include <asm/lapic.h>
 #include <asm/microcode.h>
 #include <asm/mp.h>
+#include <asm/mrccache.h>
 #include <asm/msr.h>
 #include <asm/mtrr.h>
 #include <asm/post.h>
@@ -661,10 +663,20 @@
 }
 
 #ifndef CONFIG_SYS_COREBOOT
+/*
+ * Implement a weak default function for boards that optionally
+ * need to clean up the system before jumping to the kernel.
+ */
+__weak void board_final_cleanup(void)
+{
+}
+
 int last_stage_init(void)
 {
 	write_tables();
 
+	board_final_cleanup();
+
 	return 0;
 }
 #endif
@@ -741,3 +753,18 @@
 
 	return 0;
 }
+
+#ifndef CONFIG_EFI_STUB
+int reserve_arch(void)
+{
+#ifdef CONFIG_ENABLE_MRC_CACHE
+	mrccache_reserve();
+#endif
+
+#ifdef CONFIG_SEABIOS
+	high_table_reserve();
+#endif
+
+	return 0;
+}
+#endif
diff --git a/arch/x86/cpu/intel_common/cpu.c b/arch/x86/cpu/intel_common/cpu.c
index 93e4505..0fdef6f 100644
--- a/arch/x86/cpu/intel_common/cpu.c
+++ b/arch/x86/cpu/intel_common/cpu.c
@@ -58,7 +58,7 @@
 		return -ENODEV;
 
 	/* Cause the SATA device to do its early init */
-	uclass_first_device(UCLASS_DISK, &dev);
+	uclass_first_device(UCLASS_AHCI, &dev);
 
 	return 0;
 }
diff --git a/arch/x86/cpu/interrupts.c b/arch/x86/cpu/interrupts.c
index 10dc4d4..dd2819a 100644
--- a/arch/x86/cpu/interrupts.c
+++ b/arch/x86/cpu/interrupts.c
@@ -15,14 +15,14 @@
 #include <dm.h>
 #include <asm/cache.h>
 #include <asm/control_regs.h>
+#include <asm/i8259.h>
 #include <asm/interrupt.h>
 #include <asm/io.h>
-#include <asm/processor-flags.h>
-#include <linux/compiler.h>
+#include <asm/lapic.h>
 #include <asm/msr.h>
+#include <asm/processor-flags.h>
 #include <asm/processor.h>
 #include <asm/u-boot-x86.h>
-#include <asm/i8259.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -266,6 +266,8 @@
 	i8259_init();
 #endif
 
+	lapic_setup();
+
 	/* Initialize core interrupt and exception functionality of CPU */
 	cpu_init_interrupts();
 
diff --git a/arch/x86/cpu/irq.c b/arch/x86/cpu/irq.c
index 295078305..df3cd0a 100644
--- a/arch/x86/cpu/irq.c
+++ b/arch/x86/cpu/irq.c
@@ -13,6 +13,7 @@
 #include <asm/irq.h>
 #include <asm/pci.h>
 #include <asm/pirq_routing.h>
+#include <asm/tables.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -121,6 +122,11 @@
 	priv->irq_mask = fdtdec_get_int(blob, node,
 					"intel,pirq-mask", PIRQ_BITMAP);
 
+	if (IS_ENABLED(CONFIG_GENERATE_ACPI_TABLE)) {
+		/* Reserve IRQ9 for SCI */
+		priv->irq_mask &= ~(1 << 9);
+	}
+
 	if (priv->config == PIRQ_VIA_IBASE) {
 		int ibase_off;
 
@@ -142,6 +148,9 @@
 		priv->ibase &= ~0xf;
 	}
 
+	priv->actl_8bit = fdtdec_get_bool(blob, node, "intel,actl-8bit");
+	priv->actl_addr = fdtdec_get_int(blob, node, "intel,actl-addr", 0);
+
 	cell = fdt_getprop(blob, node, "intel,pirq-routing", &len);
 	if (!cell || len % sizeof(struct pirq_routing))
 		return -EINVAL;
@@ -206,11 +215,30 @@
 
 	rt->size = irq_entries * sizeof(struct irq_info) + 32;
 
+	/* Fix up the table checksum */
+	rt->checksum = table_compute_checksum(rt, rt->size);
+
 	pirq_routing_table = rt;
 
 	return 0;
 }
 
+static void irq_enable_sci(struct udevice *dev)
+{
+	struct irq_router *priv = dev_get_priv(dev);
+
+	if (priv->actl_8bit) {
+		/* Bit7 must be turned on to enable ACPI */
+		dm_pci_write_config8(dev->parent, priv->actl_addr, 0x80);
+	} else {
+		/* Write 0 to enable SCI on IRQ9 */
+		if (priv->config == PIRQ_VIA_PCI)
+			dm_pci_write_config32(dev->parent, priv->actl_addr, 0);
+		else
+			writel(0, priv->ibase + priv->actl_addr);
+	}
+}
+
 int irq_router_common_init(struct udevice *dev)
 {
 	int ret;
@@ -224,6 +252,9 @@
 	pirq_route_irqs(dev, pirq_routing_table->slots,
 			get_irq_slot_count(pirq_routing_table));
 
+	if (IS_ENABLED(CONFIG_GENERATE_ACPI_TABLE))
+		irq_enable_sci(dev);
+
 	return 0;
 }
 
diff --git a/arch/x86/cpu/ivybridge/bd82x6x.c b/arch/x86/cpu/ivybridge/bd82x6x.c
index 4c039ac..5b58d6c 100644
--- a/arch/x86/cpu/ivybridge/bd82x6x.c
+++ b/arch/x86/cpu/ivybridge/bd82x6x.c
@@ -162,7 +162,7 @@
 		return 0;
 
 	/* Cause the SATA device to do its init */
-	uclass_first_device(UCLASS_DISK, &dev);
+	uclass_first_device(UCLASS_AHCI, &dev);
 
 	ret = syscon_get_by_driver_data(X86_SYSCON_GMA, &gma_dev);
 	if (ret)
diff --git a/arch/x86/cpu/ivybridge/lpc.c b/arch/x86/cpu/ivybridge/lpc.c
index 88ab797..ff1faa5 100644
--- a/arch/x86/cpu/ivybridge/lpc.c
+++ b/arch/x86/cpu/ivybridge/lpc.c
@@ -12,7 +12,6 @@
 #include <fdtdec.h>
 #include <rtc.h>
 #include <pci.h>
-#include <asm/acpi.h>
 #include <asm/intel_regs.h>
 #include <asm/interrupt.h>
 #include <asm/io.h>
diff --git a/arch/x86/cpu/ivybridge/model_206ax.c b/arch/x86/cpu/ivybridge/model_206ax.c
index cef4256..38e244b 100644
--- a/arch/x86/cpu/ivybridge/model_206ax.c
+++ b/arch/x86/cpu/ivybridge/model_206ax.c
@@ -12,10 +12,8 @@
 #include <dm.h>
 #include <fdtdec.h>
 #include <malloc.h>
-#include <asm/acpi.h>
 #include <asm/cpu.h>
 #include <asm/cpu_x86.h>
-#include <asm/lapic.h>
 #include <asm/msr.h>
 #include <asm/msr-index.h>
 #include <asm/mtrr.h>
@@ -419,7 +417,6 @@
 
 	/* Enable the local cpu apics */
 	enable_lapic_tpr();
-	lapic_setup();
 
 	/* Enable virtualization if enabled in CMOS */
 	enable_vmx();
diff --git a/arch/x86/cpu/ivybridge/northbridge.c b/arch/x86/cpu/ivybridge/northbridge.c
index f7e0bc3..491f289 100644
--- a/arch/x86/cpu/ivybridge/northbridge.c
+++ b/arch/x86/cpu/ivybridge/northbridge.c
@@ -10,7 +10,6 @@
 #include <common.h>
 #include <dm.h>
 #include <asm/msr.h>
-#include <asm/acpi.h>
 #include <asm/cpu.h>
 #include <asm/intel_regs.h>
 #include <asm/io.h>
diff --git a/arch/x86/cpu/ivybridge/sata.c b/arch/x86/cpu/ivybridge/sata.c
index c3d1057..1ce8195 100644
--- a/arch/x86/cpu/ivybridge/sata.c
+++ b/arch/x86/cpu/ivybridge/sata.c
@@ -233,7 +233,7 @@
 
 U_BOOT_DRIVER(ahci_ivybridge_drv) = {
 	.name		= "ahci_ivybridge",
-	.id		= UCLASS_DISK,
+	.id		= UCLASS_AHCI,
 	.of_match	= bd82x6x_ahci_ids,
 	.probe		= bd82x6x_sata_probe,
 };
diff --git a/arch/x86/cpu/ivybridge/sdram.c b/arch/x86/cpu/ivybridge/sdram.c
index e35e543..9d9f63d 100644
--- a/arch/x86/cpu/ivybridge/sdram.c
+++ b/arch/x86/cpu/ivybridge/sdram.c
@@ -201,11 +201,6 @@
 	return false;
 }
 
-int reserve_arch(void)
-{
-	return mrccache_reserve();
-}
-
 static int copy_spd(struct udevice *dev, struct pei_data *peid)
 {
 	const void *data;
diff --git a/arch/x86/cpu/lapic.c b/arch/x86/cpu/lapic.c
index 30d2313..fbea2d1 100644
--- a/arch/x86/cpu/lapic.c
+++ b/arch/x86/cpu/lapic.c
@@ -65,23 +65,27 @@
 
 void enable_lapic(void)
 {
-	msr_t msr;
+	if (!IS_ENABLED(CONFIG_INTEL_QUARK)) {
+		msr_t msr;
 
-	msr = msr_read(MSR_IA32_APICBASE);
-	msr.hi &= 0xffffff00;
-	msr.lo |= MSR_IA32_APICBASE_ENABLE;
-	msr.lo &= ~MSR_IA32_APICBASE_BASE;
-	msr.lo |= LAPIC_DEFAULT_BASE;
-	msr_write(MSR_IA32_APICBASE, msr);
+		msr = msr_read(MSR_IA32_APICBASE);
+		msr.hi &= 0xffffff00;
+		msr.lo |= MSR_IA32_APICBASE_ENABLE;
+		msr.lo &= ~MSR_IA32_APICBASE_BASE;
+		msr.lo |= LAPIC_DEFAULT_BASE;
+		msr_write(MSR_IA32_APICBASE, msr);
+	}
 }
 
 void disable_lapic(void)
 {
-	msr_t msr;
+	if (!IS_ENABLED(CONFIG_INTEL_QUARK)) {
+		msr_t msr;
 
-	msr = msr_read(MSR_IA32_APICBASE);
-	msr.lo &= ~MSR_IA32_APICBASE_ENABLE;
-	msr_write(MSR_IA32_APICBASE, msr);
+		msr = msr_read(MSR_IA32_APICBASE);
+		msr.lo &= ~MSR_IA32_APICBASE_ENABLE;
+		msr_write(MSR_IA32_APICBASE, msr);
+	}
 }
 
 unsigned long lapicid(void)
@@ -120,7 +124,6 @@
 
 void lapic_setup(void)
 {
-#ifdef CONFIG_SMP
 	/* Only Pentium Pro and later have those MSR stuff */
 	debug("Setting up local apic: ");
 
@@ -150,11 +153,7 @@
 		    LAPIC_DELIVERY_MODE_NMI));
 
 	debug("apic_id: 0x%02lx, ", lapicid());
-#else /* !CONFIG_SMP */
-	/* Only Pentium Pro and later have those MSR stuff */
-	debug("Disabling local apic: ");
-	disable_lapic();
-#endif /* CONFIG_SMP */
+
 	debug("done.\n");
 	post_code(POST_LAPIC);
 }
diff --git a/arch/x86/cpu/mp_init.c b/arch/x86/cpu/mp_init.c
index 2604a68..2b6b3bd 100644
--- a/arch/x86/cpu/mp_init.c
+++ b/arch/x86/cpu/mp_init.c
@@ -11,6 +11,7 @@
 #include <dm.h>
 #include <errno.h>
 #include <malloc.h>
+#include <qfw.h>
 #include <asm/atomic.h>
 #include <asm/cpu.h>
 #include <asm/interrupt.h>
@@ -21,7 +22,6 @@
 #include <asm/mtrr.h>
 #include <asm/processor.h>
 #include <asm/sipi.h>
-#include <asm/fw_cfg.h>
 #include <dm/device-internal.h>
 #include <dm/uclass-internal.h>
 #include <dm/lists.h>
@@ -408,8 +408,6 @@
 	cpu_get_name(processor_name);
 	debug("CPU: %s\n", processor_name);
 
-	lapic_setup();
-
 	apic_id = lapicid();
 	ret = find_cpu_by_apic_id(apic_id, devp);
 	if (ret) {
@@ -420,7 +418,7 @@
 	return 0;
 }
 
-#ifdef CONFIG_QEMU
+#ifdef CONFIG_QFW
 static int qemu_cpu_fixup(void)
 {
 	int ret;
@@ -496,7 +494,7 @@
 	if (ret)
 		return ret;
 
-#ifdef CONFIG_QEMU
+#ifdef CONFIG_QFW
 	ret = qemu_cpu_fixup();
 	if (ret)
 		return ret;
diff --git a/arch/x86/cpu/qemu/Makefile b/arch/x86/cpu/qemu/Makefile
index 6eeddf1..a080c5e 100644
--- a/arch/x86/cpu/qemu/Makefile
+++ b/arch/x86/cpu/qemu/Makefile
@@ -7,4 +7,5 @@
 ifndef CONFIG_EFI_STUB
 obj-y += car.o dram.o
 endif
-obj-y += cpu.o fw_cfg.o qemu.o
+obj-y += qemu.o
+obj-$(CONFIG_QFW) += cpu.o e820.o
diff --git a/arch/x86/cpu/qemu/cpu.c b/arch/x86/cpu/qemu/cpu.c
index a1b70c6..b1a965e 100644
--- a/arch/x86/cpu/qemu/cpu.c
+++ b/arch/x86/cpu/qemu/cpu.c
@@ -8,8 +8,8 @@
 #include <cpu.h>
 #include <dm.h>
 #include <errno.h>
+#include <qfw.h>
 #include <asm/cpu.h>
-#include <asm/fw_cfg.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/arch/x86/cpu/qemu/e820.c b/arch/x86/cpu/qemu/e820.c
new file mode 100644
index 0000000..63853e4
--- /dev/null
+++ b/arch/x86/cpu/qemu/e820.c
@@ -0,0 +1,43 @@
+/*
+ * (C) Copyright 2015 Miao Yan <yanmiaobest@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/e820.h>
+
+unsigned install_e820_map(unsigned max_entries, struct e820entry *entries)
+{
+	entries[0].addr = 0;
+	entries[0].size = ISA_START_ADDRESS;
+	entries[0].type = E820_RAM;
+
+	entries[1].addr = ISA_START_ADDRESS;
+	entries[1].size = ISA_END_ADDRESS - ISA_START_ADDRESS;
+	entries[1].type = E820_RESERVED;
+
+	/*
+	 * since we use memalign(malloc) to allocate high memory for
+	 * storing ACPI tables, we need to reserve them in e820 tables,
+	 * otherwise kernel will reclaim them and data will be corrupted
+	 */
+	entries[2].addr = ISA_END_ADDRESS;
+	entries[2].size = gd->relocaddr - TOTAL_MALLOC_LEN - ISA_END_ADDRESS;
+	entries[2].type = E820_RAM;
+
+	/* for simplicity, reserve entire malloc space */
+	entries[3].addr = gd->relocaddr - TOTAL_MALLOC_LEN;
+	entries[3].size = TOTAL_MALLOC_LEN;
+	entries[3].type = E820_RESERVED;
+
+	entries[4].addr = gd->relocaddr;
+	entries[4].size = gd->ram_size - gd->relocaddr;
+	entries[4].type = E820_RESERVED;
+
+	entries[5].addr = CONFIG_PCIE_ECAM_BASE;
+	entries[5].size = CONFIG_PCIE_ECAM_SIZE;
+	entries[5].type = E820_RESERVED;
+
+	return 6;
+}
diff --git a/arch/x86/cpu/qemu/fw_cfg.c b/arch/x86/cpu/qemu/fw_cfg.c
deleted file mode 100644
index 2e2794e..0000000
--- a/arch/x86/cpu/qemu/fw_cfg.c
+++ /dev/null
@@ -1,570 +0,0 @@
-/*
- * (C) Copyright 2015 Miao Yan <yanmiaobest@gmail.com>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <command.h>
-#include <errno.h>
-#include <malloc.h>
-#include <asm/io.h>
-#include <asm/fw_cfg.h>
-#include <asm/tables.h>
-#include <asm/e820.h>
-#include <linux/list.h>
-#include <memalign.h>
-
-static bool fwcfg_present;
-static bool fwcfg_dma_present;
-
-static LIST_HEAD(fw_list);
-
-/* Read configuration item using fw_cfg PIO interface */
-static void qemu_fwcfg_read_entry_pio(uint16_t entry,
-		uint32_t size, void *address)
-{
-	uint32_t i = 0;
-	uint8_t *data = address;
-
-	/*
-	 * writting FW_CFG_INVALID will cause read operation to resume at
-	 * last offset, otherwise read will start at offset 0
-	 */
-	if (entry != FW_CFG_INVALID)
-		outw(entry, FW_CONTROL_PORT);
-	while (size--)
-		data[i++] = inb(FW_DATA_PORT);
-}
-
-/* Read configuration item using fw_cfg DMA interface */
-static void qemu_fwcfg_read_entry_dma(uint16_t entry,
-		uint32_t size, void *address)
-{
-	struct fw_cfg_dma_access dma;
-
-	dma.length = cpu_to_be32(size);
-	dma.address = cpu_to_be64((uintptr_t)address);
-	dma.control = cpu_to_be32(FW_CFG_DMA_READ);
-
-	/*
-	 * writting FW_CFG_INVALID will cause read operation to resume at
-	 * last offset, otherwise read will start at offset 0
-	 */
-	if (entry != FW_CFG_INVALID)
-		dma.control |= cpu_to_be32(FW_CFG_DMA_SELECT | (entry << 16));
-
-	barrier();
-
-	debug("qemu_fwcfg_dma_read_entry: addr %p, length %u control 0x%x\n",
-	      address, size, be32_to_cpu(dma.control));
-
-	outl(cpu_to_be32((uint32_t)&dma), FW_DMA_PORT_HIGH);
-
-	while (be32_to_cpu(dma.control) & ~FW_CFG_DMA_ERROR)
-		__asm__ __volatile__ ("pause");
-}
-
-static bool qemu_fwcfg_present(void)
-{
-	uint32_t qemu;
-
-	qemu_fwcfg_read_entry_pio(FW_CFG_SIGNATURE, 4, &qemu);
-	return be32_to_cpu(qemu) == QEMU_FW_CFG_SIGNATURE;
-}
-
-static bool qemu_fwcfg_dma_present(void)
-{
-	uint8_t dma_enabled;
-
-	qemu_fwcfg_read_entry_pio(FW_CFG_ID, 1, &dma_enabled);
-	if (dma_enabled & FW_CFG_DMA_ENABLED)
-		return true;
-
-	return false;
-}
-
-static void qemu_fwcfg_read_entry(uint16_t entry,
-		uint32_t length, void *address)
-{
-	if (fwcfg_dma_present)
-		qemu_fwcfg_read_entry_dma(entry, length, address);
-	else
-		qemu_fwcfg_read_entry_pio(entry, length, address);
-}
-
-int qemu_fwcfg_online_cpus(void)
-{
-	uint16_t nb_cpus;
-
-	if (!fwcfg_present)
-		return -ENODEV;
-
-	qemu_fwcfg_read_entry(FW_CFG_NB_CPUS, 2, &nb_cpus);
-
-	return le16_to_cpu(nb_cpus);
-}
-
-/*
- * This function prepares kernel for zboot. It loads kernel data
- * to 'load_addr', initrd to 'initrd_addr' and kernel command
- * line using qemu fw_cfg interface.
- */
-static int qemu_fwcfg_setup_kernel(void *load_addr, void *initrd_addr)
-{
-	char *data_addr;
-	uint32_t setup_size, kernel_size, cmdline_size, initrd_size;
-
-	qemu_fwcfg_read_entry(FW_CFG_SETUP_SIZE, 4, &setup_size);
-	qemu_fwcfg_read_entry(FW_CFG_KERNEL_SIZE, 4, &kernel_size);
-
-	if (setup_size == 0 || kernel_size == 0) {
-		printf("warning: no kernel available\n");
-		return -1;
-	}
-
-	data_addr = load_addr;
-	qemu_fwcfg_read_entry(FW_CFG_SETUP_DATA,
-			      le32_to_cpu(setup_size), data_addr);
-	data_addr += le32_to_cpu(setup_size);
-
-	qemu_fwcfg_read_entry(FW_CFG_KERNEL_DATA,
-			      le32_to_cpu(kernel_size), data_addr);
-	data_addr += le32_to_cpu(kernel_size);
-
-	data_addr = initrd_addr;
-	qemu_fwcfg_read_entry(FW_CFG_INITRD_SIZE, 4, &initrd_size);
-	if (initrd_size == 0) {
-		printf("warning: no initrd available\n");
-	} else {
-		qemu_fwcfg_read_entry(FW_CFG_INITRD_DATA,
-				      le32_to_cpu(initrd_size), data_addr);
-		data_addr += le32_to_cpu(initrd_size);
-	}
-
-	qemu_fwcfg_read_entry(FW_CFG_CMDLINE_SIZE, 4, &cmdline_size);
-	if (cmdline_size) {
-		qemu_fwcfg_read_entry(FW_CFG_CMDLINE_DATA,
-				      le32_to_cpu(cmdline_size), data_addr);
-		/*
-		 * if kernel cmdline only contains '\0', (e.g. no -append
-		 * when invoking qemu), do not update bootargs
-		 */
-		if (*data_addr != '\0') {
-			if (setenv("bootargs", data_addr) < 0)
-				printf("warning: unable to change bootargs\n");
-		}
-	}
-
-	printf("loading kernel to address %p size %x", load_addr,
-	       le32_to_cpu(kernel_size));
-	if (initrd_size)
-		printf(" initrd %p size %x\n",
-		       initrd_addr,
-		       le32_to_cpu(initrd_size));
-	else
-		printf("\n");
-
-	return 0;
-}
-
-static int qemu_fwcfg_read_firmware_list(void)
-{
-	int i;
-	uint32_t count;
-	struct fw_file *file;
-	struct list_head *entry;
-
-	/* don't read it twice */
-	if (!list_empty(&fw_list))
-		return 0;
-
-	qemu_fwcfg_read_entry(FW_CFG_FILE_DIR, 4, &count);
-	if (!count)
-		return 0;
-
-	count = be32_to_cpu(count);
-	for (i = 0; i < count; i++) {
-		file = malloc(sizeof(*file));
-		if (!file) {
-			printf("error: allocating resource\n");
-			goto err;
-		}
-		qemu_fwcfg_read_entry(FW_CFG_INVALID,
-				      sizeof(struct fw_cfg_file), &file->cfg);
-		file->addr = 0;
-		list_add_tail(&file->list, &fw_list);
-	}
-
-	return 0;
-
-err:
-	list_for_each(entry, &fw_list) {
-		file = list_entry(entry, struct fw_file, list);
-		free(file);
-	}
-
-	return -ENOMEM;
-}
-
-#ifdef CONFIG_QEMU_ACPI_TABLE
-static struct fw_file *qemu_fwcfg_find_file(const char *name)
-{
-	struct list_head *entry;
-	struct fw_file *file;
-
-	list_for_each(entry, &fw_list) {
-		file = list_entry(entry, struct fw_file, list);
-		if (!strcmp(file->cfg.name, name))
-			return file;
-	}
-
-	return NULL;
-}
-
-/*
- * This function allocates memory for ACPI tables
- *
- * @entry : BIOS linker command entry which tells where to allocate memory
- *          (either high memory or low memory)
- * @addr  : The address that should be used for low memory allcation. If the
- *          memory allocation request is 'ZONE_HIGH' then this parameter will
- *          be ignored.
- * @return: 0 on success, or negative value on failure
- */
-static int bios_linker_allocate(struct bios_linker_entry *entry, u32 *addr)
-{
-	uint32_t size, align;
-	struct fw_file *file;
-	unsigned long aligned_addr;
-
-	align = le32_to_cpu(entry->alloc.align);
-	/* align must be power of 2 */
-	if (align & (align - 1)) {
-		printf("error: wrong alignment %u\n", align);
-		return -EINVAL;
-	}
-
-	file = qemu_fwcfg_find_file(entry->alloc.file);
-	if (!file) {
-		printf("error: can't find file %s\n", entry->alloc.file);
-		return -ENOENT;
-	}
-
-	size = be32_to_cpu(file->cfg.size);
-
-	/*
-	 * ZONE_HIGH means we need to allocate from high memory, since
-	 * malloc space is already at the end of RAM, so we directly use it.
-	 * If allocation zone is ZONE_FSEG, then we use the 'addr' passed
-	 * in which is low memory
-	 */
-	if (entry->alloc.zone == BIOS_LINKER_LOADER_ALLOC_ZONE_HIGH) {
-		aligned_addr = (unsigned long)memalign(align, size);
-		if (!aligned_addr) {
-			printf("error: allocating resource\n");
-			return -ENOMEM;
-		}
-	} else if (entry->alloc.zone == BIOS_LINKER_LOADER_ALLOC_ZONE_FSEG) {
-		aligned_addr = ALIGN(*addr, align);
-	} else {
-		printf("error: invalid allocation zone\n");
-		return -EINVAL;
-	}
-
-	debug("bios_linker_allocate: allocate file %s, size %u, zone %d, align %u, addr 0x%lx\n",
-	      file->cfg.name, size, entry->alloc.zone, align, aligned_addr);
-
-	qemu_fwcfg_read_entry(be16_to_cpu(file->cfg.select),
-			      size, (void *)aligned_addr);
-	file->addr = aligned_addr;
-
-	/* adjust address for low memory allocation */
-	if (entry->alloc.zone == BIOS_LINKER_LOADER_ALLOC_ZONE_FSEG)
-		*addr = (aligned_addr + size);
-
-	return 0;
-}
-
-/*
- * This function patches ACPI tables previously loaded
- * by bios_linker_allocate()
- *
- * @entry : BIOS linker command entry which tells how to patch
- *          ACPI tables
- * @return: 0 on success, or negative value on failure
- */
-static int bios_linker_add_pointer(struct bios_linker_entry *entry)
-{
-	struct fw_file *dest, *src;
-	uint32_t offset = le32_to_cpu(entry->pointer.offset);
-	uint64_t pointer = 0;
-
-	dest = qemu_fwcfg_find_file(entry->pointer.dest_file);
-	if (!dest || !dest->addr)
-		return -ENOENT;
-	src = qemu_fwcfg_find_file(entry->pointer.src_file);
-	if (!src || !src->addr)
-		return -ENOENT;
-
-	debug("bios_linker_add_pointer: dest->addr 0x%lx, src->addr 0x%lx, offset 0x%x size %u, 0x%llx\n",
-	      dest->addr, src->addr, offset, entry->pointer.size, pointer);
-
-	memcpy(&pointer, (char *)dest->addr + offset, entry->pointer.size);
-	pointer	= le64_to_cpu(pointer);
-	pointer += (unsigned long)src->addr;
-	pointer	= cpu_to_le64(pointer);
-	memcpy((char *)dest->addr + offset, &pointer, entry->pointer.size);
-
-	return 0;
-}
-
-/*
- * This function updates checksum fields of ACPI tables previously loaded
- * by bios_linker_allocate()
- *
- * @entry : BIOS linker command entry which tells where to update ACPI table
- *          checksums
- * @return: 0 on success, or negative value on failure
- */
-static int bios_linker_add_checksum(struct bios_linker_entry *entry)
-{
-	struct fw_file *file;
-	uint8_t *data, cksum = 0;
-	uint8_t *cksum_start;
-
-	file = qemu_fwcfg_find_file(entry->cksum.file);
-	if (!file || !file->addr)
-		return -ENOENT;
-
-	data = (uint8_t *)(file->addr + le32_to_cpu(entry->cksum.offset));
-	cksum_start = (uint8_t *)(file->addr + le32_to_cpu(entry->cksum.start));
-	cksum = table_compute_checksum(cksum_start,
-				       le32_to_cpu(entry->cksum.length));
-	*data = cksum;
-
-	return 0;
-}
-
-unsigned install_e820_map(unsigned max_entries, struct e820entry *entries)
-{
-	entries[0].addr = 0;
-	entries[0].size = ISA_START_ADDRESS;
-	entries[0].type = E820_RAM;
-
-	entries[1].addr = ISA_START_ADDRESS;
-	entries[1].size = ISA_END_ADDRESS - ISA_START_ADDRESS;
-	entries[1].type = E820_RESERVED;
-
-	/*
-	 * since we use memalign(malloc) to allocate high memory for
-	 * storing ACPI tables, we need to reserve them in e820 tables,
-	 * otherwise kernel will reclaim them and data will be corrupted
-	 */
-	entries[2].addr = ISA_END_ADDRESS;
-	entries[2].size = gd->relocaddr - TOTAL_MALLOC_LEN - ISA_END_ADDRESS;
-	entries[2].type = E820_RAM;
-
-	/* for simplicity, reserve entire malloc space */
-	entries[3].addr = gd->relocaddr - TOTAL_MALLOC_LEN;
-	entries[3].size = TOTAL_MALLOC_LEN;
-	entries[3].type = E820_RESERVED;
-
-	entries[4].addr = gd->relocaddr;
-	entries[4].size = gd->ram_size - gd->relocaddr;
-	entries[4].type = E820_RESERVED;
-
-	entries[5].addr = CONFIG_PCIE_ECAM_BASE;
-	entries[5].size = CONFIG_PCIE_ECAM_SIZE;
-	entries[5].type = E820_RESERVED;
-
-	return 6;
-}
-
-/* This function loads and patches ACPI tables provided by QEMU */
-u32 write_acpi_tables(u32 addr)
-{
-	int i, ret = 0;
-	struct fw_file *file;
-	struct bios_linker_entry *table_loader;
-	struct bios_linker_entry *entry;
-	uint32_t size;
-	struct list_head *list;
-
-	/* make sure fw_list is loaded */
-	ret = qemu_fwcfg_read_firmware_list();
-	if (ret) {
-		printf("error: can't read firmware file list\n");
-		return addr;
-	}
-
-	file = qemu_fwcfg_find_file("etc/table-loader");
-	if (!file) {
-		printf("error: can't find etc/table-loader\n");
-		return addr;
-	}
-
-	size = be32_to_cpu(file->cfg.size);
-	if ((size % sizeof(*entry)) != 0) {
-		printf("error: table-loader maybe corrupted\n");
-		return addr;
-	}
-
-	table_loader = malloc(size);
-	if (!table_loader) {
-		printf("error: no memory for table-loader\n");
-		return addr;
-	}
-
-	qemu_fwcfg_read_entry(be16_to_cpu(file->cfg.select),
-			      size, table_loader);
-
-	for (i = 0; i < (size / sizeof(*entry)); i++) {
-		entry = table_loader + i;
-		switch (le32_to_cpu(entry->command)) {
-		case BIOS_LINKER_LOADER_COMMAND_ALLOCATE:
-			ret = bios_linker_allocate(entry, &addr);
-			if (ret)
-				goto out;
-			break;
-		case BIOS_LINKER_LOADER_COMMAND_ADD_POINTER:
-			ret = bios_linker_add_pointer(entry);
-			if (ret)
-				goto out;
-			break;
-		case BIOS_LINKER_LOADER_COMMAND_ADD_CHECKSUM:
-			ret = bios_linker_add_checksum(entry);
-			if (ret)
-				goto out;
-			break;
-		default:
-			break;
-		}
-	}
-
-out:
-	if (ret) {
-		list_for_each(list, &fw_list) {
-			file = list_entry(list, struct fw_file, list);
-			if (file->addr)
-				free((void *)file->addr);
-		}
-	}
-
-	free(table_loader);
-	return addr;
-}
-#endif
-
-static int qemu_fwcfg_list_firmware(void)
-{
-	int ret;
-	struct list_head *entry;
-	struct fw_file *file;
-
-	/* make sure fw_list is loaded */
-	ret = qemu_fwcfg_read_firmware_list();
-	if (ret)
-		return ret;
-
-	list_for_each(entry, &fw_list) {
-		file = list_entry(entry, struct fw_file, list);
-		printf("%-56s\n", file->cfg.name);
-	}
-
-	return 0;
-}
-
-void qemu_fwcfg_init(void)
-{
-	fwcfg_present = qemu_fwcfg_present();
-	if (fwcfg_present)
-		fwcfg_dma_present = qemu_fwcfg_dma_present();
-}
-
-static int qemu_fwcfg_do_list(cmd_tbl_t *cmdtp, int flag,
-		int argc, char * const argv[])
-{
-	if (qemu_fwcfg_list_firmware() < 0)
-		return CMD_RET_FAILURE;
-
-	return 0;
-}
-
-static int qemu_fwcfg_do_cpus(cmd_tbl_t *cmdtp, int flag,
-		int argc, char * const argv[])
-{
-	int ret = qemu_fwcfg_online_cpus();
-	if (ret < 0) {
-		printf("QEMU fw_cfg interface not found\n");
-		return CMD_RET_FAILURE;
-	}
-
-	printf("%d cpu(s) online\n", qemu_fwcfg_online_cpus());
-
-	return 0;
-}
-
-static int qemu_fwcfg_do_load(cmd_tbl_t *cmdtp, int flag,
-		int argc, char * const argv[])
-{
-	char *env;
-	void *load_addr;
-	void *initrd_addr;
-
-	env = getenv("loadaddr");
-	load_addr = env ?
-		(void *)simple_strtoul(env, NULL, 16) :
-		(void *)CONFIG_LOADADDR;
-
-	env = getenv("ramdiskaddr");
-	initrd_addr = env ?
-		(void *)simple_strtoul(env, NULL, 16) :
-		(void *)CONFIG_RAMDISK_ADDR;
-
-	if (argc == 2) {
-		load_addr = (void *)simple_strtoul(argv[0], NULL, 16);
-		initrd_addr = (void *)simple_strtoul(argv[1], NULL, 16);
-	} else if (argc == 1) {
-		load_addr = (void *)simple_strtoul(argv[0], NULL, 16);
-	}
-
-	return qemu_fwcfg_setup_kernel(load_addr, initrd_addr);
-}
-
-static cmd_tbl_t fwcfg_commands[] = {
-	U_BOOT_CMD_MKENT(list, 0, 1, qemu_fwcfg_do_list, "", ""),
-	U_BOOT_CMD_MKENT(cpus, 0, 1, qemu_fwcfg_do_cpus, "", ""),
-	U_BOOT_CMD_MKENT(load, 2, 1, qemu_fwcfg_do_load, "", ""),
-};
-
-static int do_qemu_fw(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
-{
-	int ret;
-	cmd_tbl_t *fwcfg_cmd;
-
-	if (!fwcfg_present) {
-		printf("QEMU fw_cfg interface not found\n");
-		return CMD_RET_USAGE;
-	}
-
-	fwcfg_cmd = find_cmd_tbl(argv[1], fwcfg_commands,
-				 ARRAY_SIZE(fwcfg_commands));
-	argc -= 2;
-	argv += 2;
-	if (!fwcfg_cmd || argc > fwcfg_cmd->maxargs)
-		return CMD_RET_USAGE;
-
-	ret = fwcfg_cmd->cmd(fwcfg_cmd, flag, argc, argv);
-
-	return cmd_process_error(fwcfg_cmd, ret);
-}
-
-U_BOOT_CMD(
-	qfw,	4,	1,	do_qemu_fw,
-	"QEMU firmware interface",
-	"<command>\n"
-	"    - list                             : print firmware(s) currently loaded\n"
-	"    - cpus                             : print online cpu number\n"
-	"    - load <kernel addr> <initrd addr> : load kernel and initrd (if any), and setup for zboot\n"
-)
diff --git a/arch/x86/cpu/qemu/qemu.c b/arch/x86/cpu/qemu/qemu.c
index 7ad0ee4..680e558 100644
--- a/arch/x86/cpu/qemu/qemu.c
+++ b/arch/x86/cpu/qemu/qemu.c
@@ -6,15 +6,59 @@
 
 #include <common.h>
 #include <pci.h>
+#include <qfw.h>
 #include <asm/irq.h>
 #include <asm/post.h>
 #include <asm/processor.h>
 #include <asm/arch/device.h>
 #include <asm/arch/qemu.h>
-#include <asm/fw_cfg.h>
 
 static bool i440fx;
 
+#ifdef CONFIG_QFW
+
+/* on x86, the qfw registers are all IO ports */
+#define FW_CONTROL_PORT	0x510
+#define FW_DATA_PORT		0x511
+#define FW_DMA_PORT_LOW	0x514
+#define FW_DMA_PORT_HIGH	0x518
+
+static void qemu_x86_fwcfg_read_entry_pio(uint16_t entry,
+		uint32_t size, void *address)
+{
+	uint32_t i = 0;
+	uint8_t *data = address;
+
+	/*
+	 * writting FW_CFG_INVALID will cause read operation to resume at
+	 * last offset, otherwise read will start at offset 0
+	 *
+	 * Note: on platform where the control register is IO port, the
+	 * endianness is little endian.
+	 */
+	if (entry != FW_CFG_INVALID)
+		outw(cpu_to_le16(entry), FW_CONTROL_PORT);
+
+	/* the endianness of data register is string-preserving */
+	while (size--)
+		data[i++] = inb(FW_DATA_PORT);
+}
+
+static void qemu_x86_fwcfg_read_entry_dma(struct fw_cfg_dma_access *dma)
+{
+	/* the DMA address register is big endian */
+	outl(cpu_to_be32((uint32_t)dma), FW_DMA_PORT_HIGH);
+
+	while (be32_to_cpu(dma->control) & ~FW_CFG_DMA_ERROR)
+		__asm__ __volatile__ ("pause");
+}
+
+static struct fw_cfg_arch_ops fwcfg_x86_ops = {
+	.arch_read_pio = qemu_x86_fwcfg_read_entry_pio,
+	.arch_read_dma = qemu_x86_fwcfg_read_entry_dma
+};
+#endif
+
 static void enable_pm_piix(void)
 {
 	u8 en;
@@ -88,7 +132,9 @@
 		enable_pm_ich9();
 	}
 
-	qemu_fwcfg_init();
+#ifdef CONFIG_QFW
+	qemu_fwcfg_init(&fwcfg_x86_ops);
+#endif
 }
 
 int arch_cpu_init(void)
diff --git a/arch/x86/cpu/quark/quark.c b/arch/x86/cpu/quark/quark.c
index afb3463..bdd360a 100644
--- a/arch/x86/cpu/quark/quark.c
+++ b/arch/x86/cpu/quark/quark.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <mmc.h>
 #include <asm/io.h>
+#include <asm/ioapic.h>
 #include <asm/mrccache.h>
 #include <asm/mtrr.h>
 #include <asm/pci.h>
@@ -338,6 +339,9 @@
 	mrccache_save();
 #endif
 
+	/* Assign a unique I/O APIC ID */
+	io_apic_set_id(1);
+
 	return 0;
 }
 
@@ -360,12 +364,3 @@
 
 	return;
 }
-
-int reserve_arch(void)
-{
-#ifdef CONFIG_ENABLE_MRC_CACHE
-	return mrccache_reserve();
-#else
-	return 0;
-#endif
-}
diff --git a/arch/x86/dts/bayleybay.dts b/arch/x86/dts/bayleybay.dts
index 4ea9262..4a50d86 100644
--- a/arch/x86/dts/bayleybay.dts
+++ b/arch/x86/dts/bayleybay.dts
@@ -84,6 +84,7 @@
 				compatible = "intel,irq-router";
 				intel,pirq-config = "ibase";
 				intel,ibase-offset = <0x50>;
+				intel,actl-addr = <0>;
 				intel,pirq-link = <8 8>;
 				intel,pirq-mask = <0xdee0>;
 				intel,pirq-routing = <
@@ -249,10 +250,10 @@
 #include "microcode/m0230671117.dtsi"
 		};
 		update@1 {
-#include "microcode/m0130673322.dtsi"
+#include "microcode/m0130673325.dtsi"
 		};
 		update@2 {
-#include "microcode/m0130679901.dtsi"
+#include "microcode/m0130679907.dtsi"
 		};
 	};
 
diff --git a/arch/x86/dts/conga-qeval20-qa3-e3845.dts b/arch/x86/dts/conga-qeval20-qa3-e3845.dts
index 478dece..1a4ecaa 100644
--- a/arch/x86/dts/conga-qeval20-qa3-e3845.dts
+++ b/arch/x86/dts/conga-qeval20-qa3-e3845.dts
@@ -88,6 +88,7 @@
 				compatible = "intel,irq-router";
 				intel,pirq-config = "ibase";
 				intel,ibase-offset = <0x50>;
+				intel,actl-addr = <0>;
 				intel,pirq-link = <8 8>;
 				intel,pirq-mask = <0xdee0>;
 				intel,pirq-routing = <
@@ -269,10 +270,10 @@
 
 	microcode {
 		update@0 {
-#include "microcode/m0130673322.dtsi"
+#include "microcode/m0130673325.dtsi"
 		};
 		update@1 {
-#include "microcode/m0130679901.dtsi"
+#include "microcode/m0130679907.dtsi"
 		};
 	};
 };
diff --git a/arch/x86/dts/crownbay.dts b/arch/x86/dts/crownbay.dts
index 337513b..78a1ef4 100644
--- a/arch/x86/dts/crownbay.dts
+++ b/arch/x86/dts/crownbay.dts
@@ -154,6 +154,7 @@
 			irq-router {
 				compatible = "intel,queensbay-irq-router";
 				intel,pirq-config = "pci";
+				intel,actl-addr = <0x58>;
 				intel,pirq-link = <0x60 8>;
 				intel,pirq-mask = <0xcee0>;
 				intel,pirq-routing = <
diff --git a/arch/x86/dts/galileo.dts b/arch/x86/dts/galileo.dts
index 21c3641..da3cbff 100644
--- a/arch/x86/dts/galileo.dts
+++ b/arch/x86/dts/galileo.dts
@@ -29,6 +29,18 @@
 		stdout-path = &pciuart0;
 	};
 
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu@0 {
+			device_type = "cpu";
+			compatible = "cpu-x86";
+			reg = <0>;
+			intel,apic-id = <0>;
+		};
+	};
+
 	tsc-timer {
 		clock-frequency = <400000000>;
 	};
@@ -88,6 +100,7 @@
 			irq-router {
 				compatible = "intel,quark-irq-router";
 				intel,pirq-config = "pci";
+				intel,actl-addr = <0x58>;
 				intel,pirq-link = <0x60 8>;
 				intel,pirq-mask = <0xdef8>;
 				intel,pirq-routing = <
diff --git a/arch/x86/dts/microcode/m0130673322.dtsi b/arch/x86/dts/microcode/m0130673322.dtsi
deleted file mode 100644
index 90bf2fb..0000000
--- a/arch/x86/dts/microcode/m0130673322.dtsi
+++ /dev/null
@@ -1,3284 +0,0 @@
-/*
- * ---
- * This is a device tree fragment. Use #include to add these properties to a
- * node.
- *
- * Date:
- */
-
-compatible = "intel,microcode";
-intel,header-version = <1>;
-intel,update-revision = <0x322>;
-intel,date-code = <0x4012014>;
-intel,processor-signature = <0x30673>;
-intel,checksum = <0x17b0d914>;
-intel,loader-revision = <1>;
-intel,processor-flags = <0x1>;
-
-/* The first 48-bytes are the public header which repeats the above data */
-data = <
-	0x01000000	0x22030000	0x14200104	0x73060300
-	0x14d9b017	0x01000000	0x01000000	0xd0cb0000
-	0x00cc0000	0x00000000	0x00000000	0x00000000
-	0x00000000	0xa1000000	0x01000200	0x22030000
-	0x00000000	0x00000000	0x31031420	0x11320000
-	0x01000000	0x73060300	0x00000000	0x00000000
-	0x00000000	0x00000000	0x00000000	0x00000000
-	0x00000000	0xf4320000	0x00000000	0x00000000
-	0x00000000	0x00000000	0x00000000	0x00000000
-	0x0ae10178	0x7c98f9d1	0x41962d85	0x19391270
-	0xcf3c0336	0xc1f13d6f	0xe46abaf6	0x3b65ca6b
-	0xdb666815	0x5a17bfc4	0x4fca009d	0x099ae8b3
-	0x198e2c7d	0x7c665bbf	0xc07a1a7a	0x7dbcee26
-	0x867296b2	0xc885b6ce	0xe602baff	0x68544b14
-	0xc928c400	0x3add156d	0x531946f9	0x92a03216
-	0xda352322	0xd967ee1f	0x3c5170a7	0xf6de834e
-	0x5a2ed8b3	0x9fb8f050	0x450de17f	0xfd5ef070
-	0x4954575f	0xa3a071ab	0xb56e2afb	0xe2b48302
-	0x6655a958	0x57c9a438	0x1b2f688a	0x09309bc4
-	0x0be95612	0x529c1633	0xc48515d9	0x29eb78df
-	0x9933409f	0xda58dea9	0x58c805fd	0xbc110f5a
-	0x40780ec0	0x6ad59bb3	0xc7387fb8	0x591c1490
-	0xf9335932	0x32130e0b	0xef4b3c96	0xacd903f2
-	0x5b362539	0xe7f85529	0xcb17c41f	0xe7e440d8
-	0xfaf7e925	0x969b76fb	0x5edab8c7	0xf00012e8
-	0x121c2971	0xe5b18959	0xadfd07c0	0x1f09c9d7
-	0x9781006a	0x39550073	0x6c438b6d	0x436f60bc
-	0x11000000	0x8514b971	0x40df7b4a	0x6a6b7285
-	0x7978ef59	0x319bddf5	0x04c68e5a	0xe1c28b10
-	0x172f63dc	0x306fb95d	0x31d881e8	0x69f8e08d
-	0x617a99e1	0x1ab6b574	0x2951fa5b	0xcc7e3e94
-	0xff379d19	0x5c035dec	0xe28ed726	0x22b8a5ac
-	0xd08b3ac5	0x45c03b9e	0xcea4083c	0xc26758aa
-	0xbe7cf81e	0x43d898f3	0x5c45a635	0xc9cac095
-	0xb89aea20	0x2c02b40e	0xe3a8b48d	0xeabfb60e
-	0x776ed2a9	0x080ae6d5	0x7f64b1df	0x00e40ee6
-	0x0f1c10f4	0x792e5423	0x787f5459	0x63a8b02c
-	0x3fd6a255	0x049cae26	0x0949f5ff	0x9aebb236
-	0xecc01775	0x91b57b84	0xe0e45ea3	0x5a8bf79e
-	0x356a843a	0x2406795f	0x8aaae5d8	0x6a8c877c
-	0xa8b2b8f4	0x04cf8f49	0x422d9e2c	0xf09f9896
-	0xe9b92215	0x9c98fb44	0x88556b7f	0x519d6f4c
-	0x9e8a016b	0xcb18d16c	0x419b4ee7	0x080b49c8
-	0xc51b875e	0x46aabc9c	0x262d27eb	0x93ea189d
-	0xdd0da69d	0x3e5b17e8	0xcc78509a	0x00b07e6e
-	0x363d5a70	0x64572070	0x8a84abc4	0x1cb03838
-	0x965fd76a	0x540aafc9	0x83a91654	0x1a722e67
-	0x4bf98ce1	0x2b3c2ff9	0x972cebd4	0xf3a68395
-	0x2613e422	0xf8d031d7	0xb1c79a0f	0xfd44f65b
-	0xa7012a9b	0xd9a15a60	0xc311fc0c	0x6f52f878
-	0x3d68381d	0xd2a035d7	0xb790c50e	0x9f1e5010
-	0x41877064	0xa9d1e4ae	0xfe9abbd5	0x60c2c748
-	0x8167e5ad	0x022dbfb3	0x75abe483	0x51c37170
-	0x09b8590d	0xc1bb323d	0x2c7336b1	0xd4d0d49b
-	0xc7f6152b	0x7919d596	0x1e1ff62e	0xc49604a0
-	0x33857369	0xeaa3f382	0x98b8cd86	0x176e1bf3
-	0x1a68867b	0x6af0a11c	0x69a82b25	0x48c72525
-	0xa00aae2d	0xb09f67f4	0x1a99f83d	0x7266cca3
-	0x8d03a7da	0x2e1d7c49	0x01ac68ae	0x93188770
-	0x0609e769	0x982ed28d	0xe40999e0	0x8932ebab
-	0x5637ad5a	0x2725e8ad	0x56d7caaf	0xc351faa2
-	0x09dbd737	0x0d2f3bf0	0x0623330d	0xdd547489
-	0xcca7e722	0xa9096d13	0x95b17818	0xc092cb81
-	0x72c6eefc	0x1811c37e	0x78161497	0x8be0c4c6
-	0xd63aeb19	0x91ab68df	0x8f2e5e4d	0xf4c74566
-	0x7677a553	0x19698ac3	0xedca0620	0x77f32470
-	0x031e011b	0x751f6696	0xb277d06e	0x3eae2742
-	0x133e621a	0x38fa3172	0x9398cc1c	0xf42a507b
-	0x4547d933	0x63a91eb0	0xf5bcf6a4	0x926ba056
-	0x0adf5bce	0x140f53e4	0x7ff6bb5c	0x87dd79ba
-	0xbba240ac	0x694f743d	0x709cdb20	0x5b4d4401
-	0xc9693610	0x55f9f268	0x1142bc3f	0xf8fe3689
-	0x04a93c4c	0x33dedc46	0xdc73c725	0x2f5ba264
-	0x5b7a6a69	0x024b64f5	0x6e8bfa12	0x62bf2aa7
-	0x520f5a07	0x3c7c4292	0xb7ad2613	0x1f78fc87
-	0xd5284e4e	0x2c730f33	0x8861e947	0x8bacef7d
-	0xbafa2608	0x14ed0b5b	0x3b9bfb02	0x24ced271
-	0x002b2941	0x22d4431c	0x855f4248	0x5ec46e29
-	0x6f1f42fb	0x5dd24fe0	0x290961f6	0xf392dbaf
-	0xa1a8d9c2	0x61e18f4e	0xfda59a70	0x5498daa5
-	0x5ae7ea6f	0xf058c635	0x6817ebee	0x8e30dc8b
-	0x7c8d79be	0x5fb15b9b	0xeed64741	0xe2642a94
-	0x680d7e6e	0x3cbad7aa	0x808c415f	0xe9323aa2
-	0xaadf5b25	0xf60abf13	0xd5c47967	0xc248d0b3
-	0x0f232cbd	0x84092449	0x5744384b	0x5e153ded
-	0x8bb19817	0x34430271	0x917d2315	0x1fc790c7
-	0xc21b5db6	0xec578b1f	0x903a286e	0xca0c59bc
-	0x03e95c7a	0x8c659e99	0x7b09da0a	0xd61e7517
-	0x90b1c519	0x8deac92c	0xf99c7bec	0xb6257d92
-	0x3d61c16e	0xebd58be0	0xb470e655	0xa44bbf4f
-	0xfebe5313	0x4662110a	0x5d42ccd9	0x140845ec
-	0xc80329a9	0x915ca966	0x71e33828	0xe46c870a
-	0x7da9a490	0x255544da	0xa20fb8df	0xf94062b3
-	0xb2df5870	0xebf31e88	0x6e723e2f	0xe6ba9cf1
-	0x7e7084c2	0x1782ac71	0x0a0b0127	0xe9234e38
-	0x881356d6	0xb27a54b6	0x5594730e	0x9a14bd8f
-	0x6dba7da9	0x1069e285	0x02a52798	0x61ea7d86
-	0x665b2572	0x29d41eb5	0x1d211169	0x1218b345
-	0xbfbd264c	0x5b8b0625	0xbbfdcf39	0x6768dfce
-	0x0b5f10cb	0xe159414c	0x74356ed6	0x70077f49
-	0x672107e8	0x11616856	0x824e6f2f	0x99614958
-	0x5857305d	0x416a193f	0x010d266c	0xe5194f03
-	0x152d6516	0xeb83872e	0x4923cc1f	0x1191d1ca
-	0x23feb738	0x6817c1d7	0xe49129ed	0x4a53132a
-	0xdb46b95b	0x3f970366	0x93f1a518	0xae8d72ae
-	0xb689d915	0x0bdfda17	0x2ac7238d	0x1c4291e7
-	0xc5b11085	0x3c51c1ba	0x9fd63edd	0xe464d740
-	0xc17f2789	0x0adef6b9	0xf9aaf83e	0xfb2a9798
-	0x7f16268b	0x4c8ca6c5	0x2b17be52	0x00c91157
-	0xb69eb5db	0xe55ed94a	0xdf13b5a5	0xbb52d1e3
-	0x651bb017	0xc7795724	0x0dfd4711	0x02d2d6e0
-	0xc835e771	0x8ab5dd50	0x7caca109	0xd5c18d6e
-	0xbef0e727	0xaff2dd07	0xf1062a32	0x26d14796
-	0x97f6e36c	0xf845278e	0x185eb5b3	0xcde4e201
-	0x13166ab7	0xcdcebcdc	0x143ef0c7	0x2349893f
-	0x9dfcb70e	0x7ef72725	0x141c5b71	0x7da0f5d3
-	0x76bebb67	0x28bc0a83	0xb67ecf0f	0xd60a1303
-	0x9391b279	0x6ad41154	0x317896b0	0x1237efa6
-	0x7b2a2e6c	0x3ad9a110	0xb44357d4	0xb32e39fe
-	0x2358d28e	0x76e847d9	0x3e85db01	0x6c74e466
-	0x9e4e6b32	0x13072a53	0x5972132e	0xd97cb04d
-	0x55ee6a0b	0xc1434b92	0x772f6a1d	0x0f81f7a6
-	0x072aa8f7	0x179da0e0	0x976bd78c	0x2e43c16b
-	0x4f4a6b51	0x92d9c61b	0xa9c15fe4	0x3f8a527a
-	0x3a232408	0x543d7957	0x21cbd682	0x896de3b0
-	0xba6b3df6	0x2ec86e51	0x2be889e3	0xae764ff0
-	0x3a2f0003	0x7a5f7949	0x577fb5ce	0xb5cbd1a6
-	0xc910ffe2	0x7fd76712	0xfc1e93ff	0xbee7b15c
-	0x5db2356d	0x9721a3fd	0x0d408aed	0x4df4c922
-	0x45d5be91	0x6c79b1fc	0xf0bf73bd	0x3f6a73b6
-	0xdcc1b51e	0x2049fe2d	0xf2b2ad4b	0xd0484d3a
-	0x1f097d3f	0xced1bf3d	0x10f4416b	0x73cb307c
-	0x4b4d94b4	0x2918ece0	0x0cfe69f3	0xb7e86cfb
-	0xa6c373b4	0x0d862b62	0x1735cd72	0xef23c127
-	0x09809c16	0x86cfb70b	0xe67c6903	0x743223a7
-	0x13c7d27f	0xb70a58cc	0x82c57566	0x2ead3c65
-	0xf9409863	0xf2b578ef	0x1622a34d	0x5ae8e861
-	0xf4384016	0x443ff5f4	0x088b8510	0xd738d1c5
-	0x577d624b	0x5adf3973	0x5f79add3	0xed7e7145
-	0x29008fc0	0xd5b278cf	0x5b4c08c2	0xb063af5c
-	0x67d41bd9	0x2d11424a	0x727924de	0x8903a86f
-	0xb122d314	0xd9675c8b	0xc2eb1382	0x4c4185da
-	0x257a0fe1	0xc3fd536b	0xadbfc223	0xc940dab4
-	0x2e83d4b0	0xf1135ad4	0xfeb1cc1a	0x9178ae04
-	0x996d72ba	0x07f6bf0f	0x6588f833	0x44f95205
-	0xee4e6897	0xa9006735	0xa5f5502c	0xeb61aca6
-	0xf2ceddb5	0x40ef9001	0xf862c3d7	0x73deaad3
-	0x7b1d8b1d	0x467bcbcf	0x7f76f969	0x6c8e7f8c
-	0xfb8e27c3	0x5075ce65	0x1c8628a8	0x7b6e3e32
-	0x4885fc9f	0xa9fa768c	0x15426120	0x1df9d006
-	0x31c52df4	0x1457f5c6	0xde5f2daa	0xfa250108
-	0xbcf7e460	0x565d4679	0x82c94142	0xae76342a
-	0x85aca7c7	0x8bc49e03	0x73f03da3	0x1e500b4c
-	0x250288a2	0x25a39951	0x66087700	0x6317754b
-	0x6ff62bdc	0xa519ad4f	0xa537b8ac	0xea6292ab
-	0xb5d66b68	0x15997d1f	0x0fdbf04a	0xaa2b1a25
-	0x74b72321	0xf8b1753a	0x33658d1e	0xb1cc5d96
-	0x5b0da6af	0x48f24997	0xb031146e	0xfe98e8d1
-	0x9bd75bf0	0x0ae088fe	0xb8fce721	0x964bc398
-	0xe82daef6	0x393884b5	0xa814f792	0xb3667bde
-	0x1d1cf32d	0xce862720	0x7b69e921	0xabd26f33
-	0x61fad35f	0xd7144eeb	0x74016bce	0x1d56277b
-	0x7f934eed	0xb1a3396a	0xd5090c7a	0x4ea94d12
-	0x1455ac10	0x7c37294c	0x06c60a9a	0xa735ab29
-	0xbffb880f	0x59e2cb48	0x54cca9d7	0xb569da05
-	0x595e72ec	0x7c82f204	0x7690420d	0xe02fbb37
-	0x4dbf4e68	0x221eda99	0x31868046	0xda435487
-	0xb4c0dcc4	0x37610096	0x35569b02	0xefcd4ecf
-	0x7b6917bf	0x45946a25	0x5d42a84a	0x8c3801b7
-	0x5ac838fa	0x7a7f252d	0xbccf3cb5	0x99a54c4c
-	0x39145831	0xfd5c1af3	0xcabb180c	0x8f0fe9dd
-	0xabd42357	0x3b6d9aa9	0x0e87ede1	0x65ea46ae
-	0xd89b618e	0x1e5cc772	0xfb43c9b4	0xdad3fdb2
-	0x96be6600	0x4887696e	0x82a4e73a	0xb2ca2cf0
-	0xc6840738	0x397d27a9	0xce971271	0x067e4de6
-	0xb593f079	0x6a77de2f	0xf9a92497	0xdc3e94aa
-	0x03239a80	0x7f38430a	0xf7f87908	0x682a8425
-	0x2d491962	0xb5737b4b	0xa26434e5	0x238ced20
-	0x1ed9fcbe	0x283a8f7b	0x18f33cf6	0x29f27cd5
-	0xd95018aa	0x883dbd25	0xfb216723	0xe939d42c
-	0xf4b1207d	0x54f5e102	0xbe2e46eb	0xb2ca8219
-	0xab181ad4	0x3a7dc3e6	0xf3713256	0x53f081ab
-	0xd630a7a3	0x07c40bc3	0x7a1fde0c	0xb368bab8
-	0xc0baaad3	0xf070baac	0xe4ab7a4f	0x82a8cf5e
-	0x9c3d7bb5	0xfe5f74a3	0x02548e86	0x2710ff5d
-	0x1b42a8c4	0x34d4f5d8	0x8dfde8f2	0xf2949298
-	0xe9d711bf	0x44d91e17	0x51ba8b32	0xbc3f60cc
-	0xa0d6c440	0xf71959b4	0x3b5f0603	0x02465794
-	0xff5d9b8a	0xd4a4abcf	0x8123626c	0x883ed4e4
-	0x9eaeaa09	0x91c38865	0xa0aaeebf	0xc48983ab
-	0x1df7a001	0x7519a65e	0x5ef3cd1d	0x8348225d
-	0x0f318b0b	0xbab1d51b	0x15ba9b84	0xef8c57bf
-	0x15d0a8c1	0x0b542fb4	0x1d51ccc8	0x6c297041
-	0xf3bee946	0x6a8c3d64	0x6e16361d	0xed50ca69
-	0x8c1f66ba	0xff7220e0	0x84a87cba	0x15d75922
-	0x77546d82	0x7bd456e3	0x10166195	0x55604f1f
-	0x894280d2	0x0ed406c4	0xc1b4058e	0x645252e5
-	0x670ea74e	0xd5b07337	0x9944e2cf	0xf2ac2579
-	0xd00c3ae8	0x2df3146d	0x4ee1c72a	0x3a3621cf
-	0x8c099145	0xf5f530e6	0x210da136	0x7908cec6
-	0xc6e47e22	0xe9bcbe4e	0x94cbcb12	0xb81f0792
-	0x1111f81e	0x4df4ac93	0x335c69be	0x9e3546b9
-	0x06c046b4	0x6f29a99c	0xbcd48ee7	0xeb011efe
-	0x41e80474	0xcee30bf4	0xad4e2ae0	0x6929a359
-	0xbdaa88e3	0x9e68a38e	0x16bbdac7	0x020d8d61
-	0x7bab6738	0x559cddbd	0xa6ae3d0c	0xe032c355
-	0xcb45a045	0x9f7680b2	0xc1cb73da	0x466052f7
-	0x488cb929	0xd93f0307	0xb2c9d81c	0xe25fdcd9
-	0xfe8b08c4	0xae6230bd	0x5238b335	0x3474b2a5
-	0x480ce0b7	0xd9a2942f	0xe830fa5b	0x3efa774f
-	0x84e53e93	0xf49e7d79	0x59897b26	0x75b1080f
-	0xc2212b0f	0xe5fe56bd	0x4556e908	0x1bd0bb17
-	0x2f159d20	0x866477e5	0x4e95a374	0xbdc9fd65
-	0x2ff87073	0x5d7dceea	0x69ada0c7	0x89f16ad0
-	0x97da55d8	0xe4457728	0x5ab7613e	0xf6bbe6ec
-	0x56b83617	0x9119b521	0x4fabf948	0x2e1ab994
-	0xd16363f0	0xaee14b3f	0x5461ea55	0x55d95d02
-	0xf72c902c	0x1ede6c56	0x697006d9	0x4d15007f
-	0x0c1cb5e5	0x55d3d5d5	0x1f18d76f	0x55c9f017
-	0x3e1d3b5b	0x8f775636	0x97e6bf8f	0x360a9fb5
-	0x1e080721	0xf9825356	0x30e900f3	0x55453bfe
-	0xbd8f1df0	0x35b43ba8	0x45db013f	0x20484d34
-	0x944ca654	0x79c2c151	0xd4e9b39b	0x1b2e79b6
-	0x554314d6	0xce4ee44d	0xd0394232	0x9da4db20
-	0xa70beed6	0x4ae4ed10	0x4c244770	0x4b91208c
-	0x39a01e0b	0x5eea0a55	0x4b36ffbe	0x6fd18df2
-	0x43fd13e3	0xa99302bc	0x63762b5d	0xd014d6b4
-	0xbf0e53d2	0x0f5b5aa5	0x3c23f5b7	0x16335036
-	0xe011bd10	0x66e596a3	0xf463e3ad	0x9670c0a3
-	0x4004e177	0xbd2b3260	0x01967017	0x1159a682
-	0x62931eb8	0xc581df9e	0x6710932f	0xfb2bb0b2
-	0xb8a0339c	0xc66f0fff	0x333f5ee3	0xc06f8586
-	0x7b9f47f1	0x9aaedaa3	0x6044562a	0x26c73565
-	0x82c6e5b2	0x39d4eed0	0x83b7432e	0x0c4f0e4a
-	0x4d9df788	0x989e7f41	0x61cacc3b	0xdc34efeb
-	0x240b22a8	0x70a508b0	0x7554f517	0x7269f02b
-	0xd27ffcf6	0x96a5879f	0x0650f7e4	0xdc1fc1ac
-	0x80781334	0x04ab3381	0x8bad17c1	0x18311833
-	0x65f06ee9	0xfaac30e1	0xe39b8b54	0x20b988ce
-	0xa6a818f3	0x75ac753b	0x66f815a4	0x224d7121
-	0x63dc6031	0xcfeed2c7	0x3ccd07d7	0x9df44157
-	0xb9dcca97	0xcf5178f1	0x10e8fb28	0xa1faa527
-	0x8851846e	0x01f56075	0x2dd4fff2	0x40786960
-	0x41aa9e6c	0xf7c85573	0x64a36432	0x4449e726
-	0x7aa7bb0d	0x08f596cc	0x248e1eb3	0x5c5567cb
-	0x62ffd012	0x2d79ce59	0xf9ed4239	0xe98e107a
-	0x4da25561	0xc6f83333	0x1ca0482d	0xcc3f3b69
-	0xa9f48711	0x99139510	0xc5777d2b	0x9c80814d
-	0xab47fbe4	0xf302d145	0x20aecccc	0x3be9e431
-	0x7dc34793	0x4d38171c	0xaa34e505	0xc32e492b
-	0x4f31bd0b	0xb7549889	0xdb3da9cf	0x084d0791
-	0xa4c63c9f	0x62e770e9	0x862fdb93	0x52c45b9e
-	0xf21019a5	0xdde6aa07	0xcb46386e	0x830693a8
-	0x651510c8	0xf3af66a4	0x78775e07	0xc9f22414
-	0x5769f089	0xac2ae873	0x044357d8	0x9fdc76f8
-	0xea16ade5	0x144e9211	0x181ade72	0xba50ce80
-	0x4573571a	0x5437c668	0x39c3b81d	0x013d766d
-	0xc1754b48	0xa611fa3b	0x725eae72	0x04b02ca9
-	0x186a2541	0xa2784e47	0x8b7601bb	0x7f9132e3
-	0x3295d5b5	0x4b470dee	0xaf5ec559	0xc4c442d6
-	0x5b07293d	0x9a68b079	0xc1408c0c	0xc2371025
-	0x4af99e8c	0x332c416a	0xec04321b	0xb8493ffb
-	0x51eab7de	0x26d7e9db	0x7880126e	0x439be5e3
-	0x7e8910f0	0xa8ba727b	0x88cb04df	0x70750495
-	0xc13413f6	0x684312db	0x0579d5b1	0x05fe44f7
-	0x627e04f3	0xe85b47da	0xbf646f0b	0x2ddf4932
-	0x1bcb6fc0	0x611de27d	0xb3ee1bed	0x247dad06
-	0xa7107d34	0xba434b88	0x6eb90466	0x45a65871
-	0xa9a67088	0x6af3b796	0xf5b73689	0xcab03ca4
-	0xca1f25e6	0xd4b7c32b	0x5908c88d	0xac6c1fa3
-	0x653184a5	0x062bc0bf	0x383de594	0x17064fc6
-	0x0650dbad	0xaec15153	0xab0572ff	0xab8c6f3c
-	0x37a93f91	0xbe51b8c5	0xabcd8573	0x05b3ad78
-	0xad6c9ecc	0xf302c7ab	0x4b3b88f7	0x805a0107
-	0xa5821ddd	0xc36f10ad	0x374b1056	0x79e69f8c
-	0x8368b6cf	0xf69458a7	0x9fad691d	0xb937724e
-	0xc542bfb1	0x37c0178d	0xc4707414	0xd6c7fa86
-	0xb3933710	0x227800f4	0x6dca3e39	0xd88bdb91
-	0x03755bda	0xa7f2d11d	0x4ab40803	0xf353e7ed
-	0xf2464ee4	0x8e58cea4	0xd05807fd	0xd8d8da5f
-	0x1a461333	0x5e84830d	0xb94ea4bc	0x5bf3506f
-	0x76461ba7	0xabe88c54	0x124c2e39	0xc3b01867
-	0xc6b0d4d1	0x9cc3c7be	0x8039ce38	0xfceb0e88
-	0xa965c5ce	0x9ff3811a	0x1af1c60e	0xae9c5f9b
-	0xee28bd50	0x202cbd2e	0x340a1312	0xa8f7115e
-	0xb000cf3a	0x21ff4052	0xa555f08f	0x1bead4d7
-	0xac14e135	0x449e208c	0x05ef8d94	0xb555a613
-	0x9d65a902	0x3ad8cc2a	0x55170533	0x75782927
-	0xefd4b5e5	0x6127ef1e	0x23fb5114	0x7ca3e1bc
-	0xc08957ba	0x44c4e2cd	0xc0b97ef9	0xea99db5a
-	0x53fdeb31	0x61721ee2	0xe41ef3c1	0x5f4788f5
-	0xa8543eca	0x3f36d642	0xda6eccef	0x0341c756
-	0xbfe7d2b9	0x66bb5cef	0xbfb43507	0xbd9c878e
-	0x94f307bc	0x7cd56198	0xf98596ba	0x21e9c50b
-	0xb9c9d725	0xf16211c2	0xe594b398	0x7e01aefc
-	0x745e5ddb	0x00bae556	0xc317ed35	0x4269b4c6
-	0x02f6b67d	0xccb4aa57	0x8a3fa0fa	0xcc660149
-	0x57cf5e87	0x4ed03819	0x77286134	0x631cc0a5
-	0x877fe8e0	0xa48856dc	0xe1c57e93	0xef04482a
-	0x40cd9ac8	0xc7f43528	0x473306c8	0x01eb339e
-	0x52612a88	0x65c3212f	0x7cc5f5e6	0xd3efbc2a
-	0xf2537dbc	0xa9428ffd	0x76ff40f9	0x0ad4a8e6
-	0x2020fbab	0xf8c5bbe4	0xb409e5a0	0x358d7b37
-	0x08220bd3	0xd3707d96	0x5e2f5edc	0x638feed5
-	0x045afa36	0x4f1604b4	0xd4dc85c7	0x37f97cef
-	0xe1c8f5a6	0xd16fdbbc	0x986137fd	0x25b3e84c
-	0x7f73be76	0xe25dbdcb	0x1f13d28a	0x7a31215b
-	0x241967d2	0x2c5b4063	0xe8339988	0x13689262
-	0x0b6d2b79	0x58773464	0xe822e560	0x77d6ba8e
-	0x6ae6c07f	0x105e1e88	0x0045bc6d	0x88ad198e
-	0xa350b9de	0xd5d0b3e6	0xc4e1cd14	0x47ca431a
-	0x2ee94476	0xa2aae1f9	0xfa2042a7	0x37b0cf82
-	0xb1aca28e	0x9a019883	0xbfb11afb	0x754ffff9
-	0xf065a9b5	0x916e14f2	0x93fba80f	0x1dd82da0
-	0xe41c950a	0x12b374bb	0x0f4d533f	0xbef539e2
-	0x1eb5c86a	0x577dd484	0x98900e2f	0xcaec8695
-	0x6a6ab336	0x135e9e68	0xc9b62a35	0xb8982b6c
-	0x5bcdb533	0x389b1517	0xbb106e40	0xd402a301
-	0x7446687b	0x35eda3ec	0xd44ceb2a	0xcfa4e441
-	0x29664690	0x598a273e	0xf2a144b1	0x68f81403
-	0xca53e666	0x064e69a4	0x87bb8ca8	0x58193c68
-	0x9b34b17a	0xde2bffc7	0xf72594dc	0x388d3f3f
-	0x638a1273	0x5ccf3567	0xcf1017a9	0xe616a6fd
-	0x64cab73c	0xd209b022	0x6f08cd26	0xc30f57b1
-	0xac2295b2	0x0c05b1c8	0xf7915ad8	0x9bcf836f
-	0x56d8b57a	0xc8b65a2c	0x11868dd3	0xea4764f8
-	0xa7bd30e8	0x8c895321	0xd276a894	0x86042daa
-	0xaf6cd261	0x18cc4ea4	0x2c2185f6	0x2bf3ae70
-	0xf3023c31	0x49f4b0e2	0x1e00afc3	0x2053b3c6
-	0xb188c9cc	0x7437a27a	0x1b29925e	0xbc488906
-	0x81cd9003	0x332fcf9b	0xeb20987a	0x831f912a
-	0x857387da	0xaf1edccb	0xfe01d809	0x05351b4a
-	0x31ec96ac	0x4f064e52	0x10ec8119	0x96c2d29f
-	0xc6e1f3fe	0x15b0d45f	0xdca23bc6	0x7b672563
-	0xa94fdc1b	0x7dd22f4f	0xd4d2260f	0xc9e055ff
-	0x89e066cc	0x98200d25	0xcba82cf7	0xffb8475b
-	0x26550a20	0xf5b4f84a	0x506cb84b	0x00d92997
-	0x7a5c5535	0xe11194eb	0x1ff21f4b	0x725d2be5
-	0xbe89242f	0x0b18afa7	0x6f5b1433	0x829bdaf9
-	0x42db07b9	0x479493cb	0xabd2ead3	0xea6afa58
-	0xf994c740	0x4cb77f7e	0xb946cbdc	0xfe558e82
-	0xa2ed5c20	0x7012b99c	0x72a41e08	0x2058815b
-	0x0528d06d	0xe6dbd7e1	0x3d1f6f9e	0xca78b63c
-	0x91fa57a2	0xb6d524a7	0x1a61863d	0x89c25c5f
-	0x16960596	0x6ebed63e	0xfcd617d1	0x0a927121
-	0x887fdc75	0xec27c8de	0x8c91a821	0xd6bb116d
-	0x51fe2c18	0x4af774d9	0x7aa13fdb	0xfc6ff59d
-	0x27dd287b	0xe7e3151c	0x835552ea	0xe628aa1c
-	0xe0edda2a	0x1957ade4	0x52336fae	0x9cecef28
-	0x2be84cbf	0xa5959450	0x65299682	0x8151d4f8
-	0x716a5209	0x0a8ca663	0x2187bc46	0x000767f5
-	0xe7295b8d	0xa8bc7a6c	0x2b4d2f10	0xf251372f
-	0x92ff27ff	0x9bfd83e8	0x8e2b593e	0x8915fd15
-	0x1e44eed0	0x4a3a4679	0xce135f45	0xf996ec1b
-	0xfd86c8ac	0x25b008fa	0x8973cf58	0x481512ae
-	0xf2bc46f1	0x8b3a92bf	0xbf2a7b24	0xb19e88be
-	0x1823f658	0xa8486c11	0x237771c0	0x6f5f0da2
-	0xb05a42e3	0xb562583c	0xa13d37f7	0xe8eede16
-	0xc5154af2	0xfdf7f9b9	0x0b907685	0x1f567e56
-	0x19987b40	0xc82974ab	0xf02ae429	0x9c356634
-	0xb85ba9e9	0xda2141b7	0xd44e331f	0x1dd722d3
-	0x68fd2f4e	0x4e7f88a2	0xab7314b3	0x3dd05c4e
-	0x1bb4093f	0xff73db9b	0xf917c6e0	0xae822501
-	0x05cab9fe	0x67c91c76	0x1ebd2575	0x1ae193fd
-	0x6f154ae6	0x13780ac7	0x6ff5bf0c	0x6b664594
-	0x494a71d1	0x9bc35a0f	0xb34f175b	0x0069468c
-	0x9b125042	0x7df22e49	0xf39cf8ed	0xbe020df1
-	0xe206848b	0x8c428e75	0xc76c05d4	0x0089e2c4
-	0x5bf9a75a	0x30677869	0x544797ed	0x68456dbd
-	0x45b8f0aa	0xac5c82d1	0x05aefb75	0x6d5c28bf
-	0x009ddb3b	0x551ff144	0xd19127ea	0xfc860071
-	0x30c93457	0xa4c4b56a	0x6928a07c	0x9f63e6a7
-	0x9fa2b174	0x7c1b2fa4	0x4a5a1f25	0x24acb022
-	0x0c3c11f4	0xc7d4cec8	0x4484a031	0x6d3cc1c7
-	0x2eb86733	0x8cd4f77d	0x7b551519	0x124b6805
-	0x57385eef	0x3efd3da9	0xea300d5d	0xe64fc82d
-	0x7d33386b	0x3933c4d3	0xe3cb61f8	0xc6fe8846
-	0xbe0df669	0x8646e4cf	0x194a444a	0x404c81af
-	0x9448791e	0x586f2132	0x3def508a	0xa3edebe5
-	0x2f3b0b5c	0xc974f91f	0x400ec25b	0xf1513ffb
-	0xc13b8859	0x32ac4d39	0xf8f334b2	0xab53ba5d
-	0x9e196996	0xf14d8046	0x22fcb441	0xf27ac4c8
-	0xbbdf5623	0x255df428	0xd95a2352	0x8d26f0dd
-	0x60a301d1	0x4a2e3e49	0x4654b081	0xf775e35f
-	0x592b5eba	0x6a3f9583	0x6ec3d395	0xc8ab02e8
-	0xf343f806	0x62745498	0xb499dbf3	0xd427334a
-	0xdf0b61e7	0xda67999e	0x14f9be12	0xf164898a
-	0xd6347aa7	0x079a537e	0x294542e1	0x687b7b6b
-	0x8478cffc	0xf335963f	0x6c1b9ac2	0x68ff2779
-	0xe3d3f8a8	0x5453c548	0xd968189b	0x13ad95b4
-	0xd71bee24	0x3939f36e	0xb19b3595	0x001961aa
-	0x5f2f001a	0x77137eea	0x477698a0	0x1c07c440
-	0x9606b6d3	0x6ce95229	0x25445629	0x5a935f13
-	0x3e2154aa	0x6876442c	0xd9175c78	0xc94d2535
-	0xf2070dd4	0xd4d1f50b	0xa04d18e5	0x3456cfa4
-	0xc7610f62	0xb705a1a8	0xb8766e3e	0x225642de
-	0x4be5b1b5	0x44d32453	0x80b8a9d4	0x7297d633
-	0x09e8aa04	0x540929ec	0xbcc58c41	0x6dcf7b61
-	0x6992928c	0xcd40ff22	0x13e4a724	0xd331d5f3
-	0xa512aeb5	0x1c1c4ae8	0x5f0fe5d2	0x3d539538
-	0x383c214c	0xd0a983e9	0x977e8682	0xf38a571d
-	0xdb92de78	0x04ba543f	0xb531e880	0xfea55473
-	0xd6d17b05	0xbdd676ed	0xfc7d4f68	0x8b5170ed
-	0xa738734f	0x8a25fff2	0xb1b0239f	0x60545acb
-	0xcfb00725	0x35f58585	0xcce4ed42	0x05da1c3f
-	0x29428b1b	0x099680c9	0xb4608916	0xa9f177b7
-	0x3b393c9d	0x92d19426	0x472dfe73	0x7b12de81
-	0x557ec0f2	0x166fa28f	0xfb6855da	0x592d3e69
-	0x373a1dba	0x9c76abae	0x13c7f717	0xbc53e796
-	0xb2d39602	0xf1efa3b2	0x00046c93	0x1faf82fa
-	0x55dec395	0x22a034c8	0x576bd5f2	0x97c36a45
-	0x08a1a923	0x9ac2f22c	0xb029e4bf	0x6c4ca958
-	0xed7276cb	0xa0924918	0x1894c9d8	0xdb993c42
-	0xc31c6e18	0xbadc738b	0x57f95d64	0x4d766a25
-	0xea41493b	0x60c19727	0xe7c63d8a	0xcbc52763
-	0x7882b244	0xe2da61e5	0xd19111df	0x526d01d2
-	0x4e7021db	0xa13fb9fb	0x23e082cd	0xb426b603
-	0x9cac0cdc	0x44a94870	0xd0adbbe2	0x9b77a80b
-	0xe1845f75	0xa1704da3	0x2d1c6207	0xba3ee883
-	0x0c3089d8	0x0cba7fdb	0xcb069fb0	0x38738df4
-	0x89971c2a	0xfbaeb7e6	0x459e1365	0x45fba877
-	0x02046ea3	0xd9d0bdb7	0x83c74383	0xc248e9d5
-	0xaae85a56	0x33092ec7	0x6bece02b	0x3b7af1d3
-	0xc92b6e83	0xba032588	0x70e61198	0xa5eb1239
-	0x4d9a6456	0x7d3fe964	0xdb3eb780	0x7e188648
-	0x511a6402	0x48c4ade9	0xba7e9153	0x09490df7
-	0x11b5ea7c	0x4e63145f	0x07ca7947	0xc337360a
-	0x2b399632	0x5d1fef78	0x9b1e439e	0x8daa70b7
-	0xf55a59bb	0xc3a8c84c	0x4d18eb22	0x74568737
-	0xf0419b6a	0xbab459a5	0x0cb07a0a	0xeeb8e086
-	0x0a9241a7	0x419c5ce5	0xec841275	0x3ec13615
-	0x49e42b6f	0x2dae6c7d	0x3fc35088	0x1b92ff9e
-	0x573b1cda	0x54381503	0x29a5b7b6	0x82994130
-	0xffb93c4c	0xc0a66aa1	0x68889181	0x0826e555
-	0xe81cdf31	0x740109a6	0xb8835558	0xaa5d9aac
-	0x0d97ea3b	0x89f744c6	0x2b702162	0x992fe0ea
-	0xab3a585a	0x3e7554db	0x9d97ebdc	0x9939bce8
-	0x486a5f50	0x804ccd06	0xff2e15cc	0x67bf77cb
-	0xf9beadd4	0x2da33477	0x18adbaf0	0xdb00dae4
-	0xe727033c	0xd10ce1ac	0x4f8c4a29	0x281bf150
-	0x764e1387	0x8c65a901	0x841521e3	0x31d9dfd7
-	0x1e7ba122	0xe8fd6d3b	0x4bfe880b	0xd2c1c20f
-	0x9a07169f	0xedbb94b8	0xe9cbcd9e	0x33cac378
-	0xa42fef1e	0xf0e5ff32	0xa86b9038	0x7dbec0cd
-	0x7ad1abe8	0x5e3e4e8f	0xc4dfe8cd	0x86630ba1
-	0x02003c6f	0xbcb50d9c	0x65d874b1	0x01a09ddd
-	0xc97d3d65	0x2d02bedf	0x6fc63309	0x214b421b
-	0x72e0a28d	0xd9c8a577	0x1c8665a1	0xd33b4583
-	0xfa004d9b	0x5c2470b7	0xc671fed3	0xe033617a
-	0x5a86c333	0x13388e4e	0x3bccdcda	0xc62fd60b
-	0xcae17379	0xf6d84d27	0xaaa52422	0x5771e380
-	0xeb1feaf3	0x3c28e7fe	0xa0fded4c	0x5f63a3c7
-	0x3b42ed09	0x1748d617	0xbc2d4fd6	0x3416fabc
-	0xc1e60e41	0x48ffe41d	0x4ea5532b	0xba7dba76
-	0x21378ac1	0x7425d0f3	0x426b3153	0xdc57d14a
-	0x54997f9a	0xeda2a56a	0xfcec5ef5	0x6fd7acb3
-	0xf2691009	0xc1a219e3	0x09a82589	0xc6e1792c
-	0xb4674578	0x0aaf55d2	0x23c7e9dc	0x7607d612
-	0x580fc695	0xd24b2629	0x0a8726a1	0x3544e0a2
-	0xc1de7011	0x30982b80	0x9cf4f328	0x02b22d26
-	0x78e33c10	0x2ce6bb5a	0x92280ed7	0x2ce5b007
-	0x64552836	0xda4a7b51	0xa6122870	0x00b28bb1
-	0xb98cda46	0x84cbe910	0xeccb62a8	0xe13c3645
-	0x2f4494e4	0xed0da7b1	0xb8aa8a1a	0x1adcbc0a
-	0xdab03e90	0x904d9041	0xaa8fe377	0x087cf59e
-	0xa123b5aa	0x633c29c0	0x36d915d6	0x8f5cacbb
-	0x8834d1b5	0xa2c12731	0xfab5176b	0xe1888d76
-	0x4875b9d7	0x5747b32c	0x73fc6d36	0x202ffb90
-	0x62900e06	0xa5f2a41f	0x497589c6	0x7ec701fd
-	0x45801f09	0x1833e8fd	0x734acfc5	0x2f65bdb8
-	0xe6add84d	0x4ad6dfaa	0xf59dd63b	0xb2150e00
-	0xed32ddd6	0x370ce8d7	0x5fec9315	0xb8e6ba73
-	0xccb15a6b	0x302a0084	0x9e49e2ce	0x7af3bc8b
-	0x488e6ee3	0xcdbf0b31	0x762ce0d4	0xc50a111c
-	0xd07d6e3e	0x18c391a2	0x1a7a559d	0x10b4b3bd
-	0xd0703a3d	0x4e431eb9	0xf78edbe3	0x896604ba
-	0xc0e8d4c9	0xd42f2292	0x5414ea6f	0x0ce7d429
-	0xbb659e0d	0x46fa830f	0xdad39c12	0x0f65fa5b
-	0xa002e598	0x5408cfcf	0xc1c3a5e0	0x28ca35fc
-	0x52b2b588	0xb76e1f54	0xb6c355c7	0x08e3ba79
-	0xfd89c1f8	0x6ebf03a9	0x51ebb756	0x729e1c5c
-	0x1ed0cce2	0x29733f1c	0x42b76fcc	0xd94022b4
-	0x3efc8ac9	0x3f23eae1	0xa0ccf230	0x9da59cf1
-	0x5f6db360	0x922686e1	0xc9138d5d	0xda43fd20
-	0xe0757988	0xa315c62f	0xe3642291	0xc45d9701
-	0x2c394ee3	0xab92e7bf	0xf6037b8e	0x1f523243
-	0xe91791d1	0x19961c4d	0x35d3b069	0x1596143c
-	0x203bca40	0xd26d72c1	0x94c059c2	0xae0df468
-	0x3b0909a4	0x34aa916f	0xe0c254e6	0xd0969c55
-	0xa9b0b923	0x80a9dd5c	0xe79b8d8a	0x3599f269
-	0x623c20dd	0x41e11b9c	0x40fcee5d	0x65dfa8f5
-	0xbffa7357	0xa5b8f59e	0x2bb8191f	0x226a1b43
-	0x910b6d4f	0x73837092	0xd666f5da	0x14fd4426
-	0xd41a8547	0x6f4e928d	0x8096c2f2	0x525ba180
-	0xc6a28d43	0x960b7cb0	0xb76dacbc	0x024de046
-	0xc8e3c937	0x0217493b	0x1516dc22	0xe19e70d0
-	0x655321c8	0xa46a9105	0x61ec2a61	0x1400405b
-	0xcd0a758d	0xdc792982	0xbd994932	0x6565c8b2
-	0x187be349	0x0afa44ad	0x714870fc	0xede1b8dc
-	0x2c4ac6b5	0x7d9793ea	0xe0bc3c0d	0xaa56f23a
-	0x7fd4e2ec	0x2131ad26	0x2cd34428	0x45e9dec0
-	0xc15b692a	0xae73e713	0x37c5c3d4	0x70ff213c
-	0x4d6322fe	0xa29a9b4a	0xca7d3c65	0x1024df74
-	0x308f4a3f	0x4f48c7d9	0x0c71a17b	0x540441ed
-	0xbc2f36a8	0x2592d7d4	0xbb643dd3	0xb8fb607b
-	0x6b2b339b	0x9a40ecc7	0x59226bdc	0x42a5c04c
-	0x6a1dc320	0x14e3c7c4	0x39cb912c	0xcf5eb477
-	0xa3a43975	0x79f92cc3	0xe9d4cdfd	0x02dc8fb3
-	0x240b6842	0xe9ff7bed	0x8f5269b3	0xc4f44baa
-	0x1f1c74b8	0xb5c39051	0x291cce82	0xfc129a8b
-	0x0fae02cf	0x31b4d4cc	0x1dfe9722	0x093cd430
-	0x96c2a838	0x19b3a068	0xa7ead8c3	0xa2b3b92c
-	0x2e1dc49f	0xe2f84217	0x670e73d3	0xd7c3710e
-	0x94e4a7c9	0x33e063ab	0x35176206	0x910504bf
-	0xb04b61d3	0xbed9c702	0x5d6c4cc3	0x63276a86
-	0x0bfe5143	0x7ed925a1	0xc455934b	0x402a8b04
-	0x01c03292	0x5de0933c	0xd932d260	0xb5b3b5ce
-	0xde53664e	0xeaec4fc0	0x506030ac	0x6fbd8304
-	0x0b0e4881	0x99c16b3a	0x6fc976ad	0xeae57df9
-	0xc53a953c	0xca681bc7	0x905e49e1	0x405d42c5
-	0xef39b878	0x57ded0df	0x56b98e32	0x392ce7d0
-	0xaa7fbfb5	0x6ff550e8	0xf346ae82	0x2b25a8dc
-	0x3ff980eb	0x302aff14	0x1a43c7ae	0x23f8ec16
-	0xf774024b	0x1c4e163d	0x6b6f9408	0x0646b4e5
-	0x2e55bfcb	0x14e3f7bf	0x86fec07a	0xda898470
-	0xd99a274a	0x8630e98f	0x8c843f0e	0xa840c028
-	0x950d7fb1	0xeca930fd	0xd281c9e3	0x29b3aed6
-	0xc419314d	0xa6147b28	0xb504311a	0x91c07531
-	0xe19ac720	0xfa8cfb5c	0xf8158bcd	0x42202a1d
-	0xfff43b87	0xdc6fa0d9	0x8a599eeb	0xac3a8df2
-	0x83ffa50f	0x346a8ff1	0x0947d1ca	0x318a8949
-	0xe409dd30	0xf73ac9cd	0x9504c972	0xa2392b4c
-	0x5594ac9f	0x7a45c3e8	0x181d42db	0x085e24a9
-	0x6cb3e60b	0x3568d771	0xfa96b628	0x945817e8
-	0xca9d28da	0xcd3a174b	0x7f84ca3d	0x90381d0e
-	0x09a6f9d7	0x11396376	0x4d158586	0xcc451745
-	0x9844225c	0xa45b8a9c	0x0c64efde	0x7429ee29
-	0x308c39b5	0xa3454fb6	0xf949f709	0x09391206
-	0x0168257e	0x94e10cb6	0x48e49996	0x92928443
-	0x4a826036	0x9a777b3f	0xf77adfdf	0xc111b354
-	0xa7ece533	0x050706ac	0x91ed3fd2	0xca15baf6
-	0xd1714105	0xb564c842	0x886800cc	0xd57309e1
-	0x38e4fa43	0xb74fe550	0x26f300bc	0x6349cbe6
-	0x4bc132ae	0x310c1d40	0x3353100c	0x0a308892
-	0xea6ab62d	0x0a438e7c	0xb000cf51	0xa21aadb3
-	0xd3628343	0xee7f1a6f	0x3ee28d91	0xa846f25a
-	0xc898e7c0	0x1198f67e	0x2401caf3	0x78d7acfc
-	0xbc592220	0x1efd847f	0x1e3e935d	0xdb9025f6
-	0x41ab6bb6	0x08a10f85	0x160dc5b4	0x4f0ed74e
-	0x8c3db59d	0x34034397	0xe26017c3	0x03fe3b41
-	0xc4480582	0x7c0c85de	0x4957c26d	0x9eb32143
-	0x28676ce2	0xe3627f34	0x71e3afb1	0x7e978fbe
-	0x3b3ee0f9	0xb5ae1bcf	0x474dc4cc	0x470e2114
-	0x2490e60c	0xbb534e7c	0x7a8ad252	0x7cc08810
-	0x9ea23718	0x04ecf4e1	0x732a9f10	0x62c69e22
-	0x5a94fb4e	0xc1da497b	0x3ab3f2b9	0x09ff7310
-	0xd7749df9	0x170471dd	0xaa551e91	0x2d605856
-	0x66a13f75	0x0be4b8a2	0xe64a0c3f	0x288e5671
-	0x5ee690c8	0x9e1c4b10	0x9f055568	0x8c6ff177
-	0xa7229231	0x19e678db	0xd90be83f	0x0cf70d67
-	0x47462463	0x327fdd91	0x51986170	0x3ad883b2
-	0xa32fa5f2	0x82167691	0x74b6c59e	0x3eae0a3a
-	0x569386dc	0x6d67fc33	0xa0943958	0x40b2939f
-	0x334acedf	0x91b6a866	0x5debd880	0xa6f3712d
-	0xbe8ca5c8	0x4b43fa68	0x72b677d7	0xa42b4d60
-	0xc719163c	0xa469fbb9	0xb484def6	0x508ddfd1
-	0x23bf14bd	0x857a13ad	0xf7a47090	0xe6816794
-	0xbf6d3db3	0xd19fe091	0xb9421e39	0x35b184c2
-	0xa5c94a6c	0x13b2b25c	0x5c7b45cf	0x648fdd47
-	0x8832d949	0x0e2380c2	0x2f8e4f88	0xc01022aa
-	0x4dec89bb	0x0a2c5bff	0xa97e58f8	0x304dddd1
-	0x468828ac	0x603da881	0x646ddc90	0x1afa151b
-	0x985bf8ad	0x6e3635d5	0x181268c6	0x420e1647
-	0x913af569	0x14075a17	0x803aba15	0x2a2562b7
-	0x2f0627db	0x52785b48	0x36ce7fc3	0x6057349e
-	0x4affb11c	0x84e82be9	0xa0f60f66	0x1d176256
-	0x9f1dba85	0x2852129f	0x4592540a	0xae083e7e
-	0x744edf82	0x75a1e1b7	0x518fbebc	0xf1828d15
-	0xfa1e31b7	0x88ebf51e	0x0a648385	0x956c002d
-	0xc8b660cd	0xa82eeb58	0x0754bcf9	0xc4873df1
-	0xf06c843b	0x7e5ac181	0x59661ea5	0xef2ae542
-	0x0fea9691	0x9493a352	0xb401f705	0x85573914
-	0x4e1eefc9	0x45e51c5f	0xd713688c	0x97efca3f
-	0x292d0e73	0x8db44fd8	0x9f4479e0	0xc049ff9a
-	0xfac5ddbb	0x4d610fdf	0xa9e01cdf	0x93b4dafd
-	0x925004b9	0xb0796ea4	0x7e166ac1	0xd030c4ea
-	0xa9f34c73	0x276cbadb	0xf3b9c282	0xa5bd6a69
-	0x53df3f11	0xded46173	0x70bff329	0x0ddd0e77
-	0x52e4a782	0xf01b024c	0xda90618a	0x34a2dd05
-	0xc144d1fe	0xbaca12a5	0xbbd28cf1	0xc54d84f5
-	0x0e7cb67b	0xe009e900	0x23657441	0x2214b4fe
-	0x37693ee7	0x62e093d0	0xf79ca670	0xf1bc6cec
-	0x1b91f787	0xc9d234c4	0x2a193a4c	0x8c2bfaf4
-	0x75f4514b	0x03501d9a	0x5554de35	0x5ff35a26
-	0x670ad976	0xbc8151eb	0x725fb971	0x5768e86f
-	0x7fdcf5ad	0xe814f3ce	0xe8b9510a	0x55bf074a
-	0x415fc288	0xa1a360c5	0xf5fef671	0x2d6253fd
-	0x7fa09b81	0x2bb2e018	0x7159e648	0x10d5d59d
-	0x462047cd	0x77583e64	0x47f1074c	0xc3c0e0d3
-	0x023a55b5	0x4ad55057	0xe6d4b9d2	0x9cdd844f
-	0x87eff8f4	0xd95c1e55	0x7499004e	0x2a43a598
-	0x0c1472b4	0x33c90a5c	0xc4703c62	0xf293e2d9
-	0xc3153c7e	0x6eeffef9	0x115e14ec	0x4ad27157
-	0x888d87c3	0x33edc70f	0x7c38ce66	0x61c10a52
-	0x5db41c48	0x8e309060	0x7b847b63	0x6b619cd1
-	0x12855e03	0x52c3281e	0x704f969e	0xf9ab7862
-	0xb143fc54	0x1ac23fd5	0x89dcd807	0x40a7ffc7
-	0xc84245b8	0x0248d94d	0x29aca158	0x92d7b241
-	0x751588ff	0xe8203587	0xc5bd7cdc	0x9de82608
-	0xb075493c	0x5d43c228	0xff6a5345	0xa64cae5c
-	0x4a1a9a26	0x08c60b16	0x9399ba46	0x3f535d1c
-	0x3b9a6ab1	0xa446115c	0xa77bd99c	0x2431dc72
-	0x729a637f	0x13f960d4	0x230d4e9f	0x0c608153
-	0x9b9670fc	0x72494838	0x14832ade	0x65aba892
-	0xd6434455	0x17697982	0x68b9bb34	0x1d700b3f
-	0x6d0dda39	0x30e0d15e	0x87de41fa	0x9fc55b16
-	0x0f5730d3	0xc3ea8127	0xeee64f5f	0xa02c5baf
-	0x64e18d74	0x31de5660	0x5cf8d724	0x6c07ceca
-	0x409e862a	0xd4ee7999	0x90c22c99	0x59cd395f
-	0x09c36563	0x1993b09f	0xb0c4e064	0x8d6870a5
-	0xe2e8e337	0xe8bef0cd	0x708d869e	0xdf808519
-	0x6fa61e32	0x27161ea8	0x063c783c	0x2aa55c1a
-	0xa6fcc8a3	0x918b284d	0xbb7870b9	0x788102c3
-	0x3e49edfa	0x6c5eae4e	0x1c9fc361	0x554ca60b
-	0xa08364d3	0xa7bd4442	0x204822a5	0x000b71a2
-	0xd4dff005	0x43265901	0xbdb99200	0xc438e254
-	0xa4982e58	0x02812101	0xfacbff1d	0xeec56aaa
-	0xa5525774	0x21ada574	0xffe2f703	0x15d30ea7
-	0x600696f9	0xc7ff3f59	0xdb57c175	0xa16f78df
-	0x54a15622	0xe3742dcf	0x06d32994	0xd48463a2
-	0x44c7c25a	0x41d6ded1	0x3b314de0	0x09992482
-	0xbeb183c5	0xa0a65c27	0x842075b7	0x9b97e3c6
-	0xd9545fc7	0x16d00629	0xd85640df	0xe79e694a
-	0xe818d277	0x1c3d4623	0x23a9a926	0x83ac1b3d
-	0x39e890c8	0xb3738b84	0x54b772ef	0x74518f0c
-	0x7190098e	0xe26aff75	0xf6237011	0xbd3400fe
-	0xda1b8fa6	0xdbf5566b	0x5155cef3	0xddbf1973
-	0x34e2cb2e	0x535fd6b8	0xbfd337aa	0x6dd1fb0e
-	0x52b04fbb	0xab5eca05	0xdb740dc1	0x104e6131
-	0xbf4dcb75	0xaeff3524	0x4257c6b9	0xbf1c8cbb
-	0x0a69ed82	0x90d991c7	0xea075cba	0x5e3c8330
-	0x823116f8	0xba8f8a2d	0xcb98a1e9	0x8b2655c6
-	0xd2f11133	0x3422f3ba	0x3e3a5742	0xdb9714fd
-	0x91701f60	0xeba19983	0x8bf9f157	0xec87cd03
-	0xb63260fa	0x207c345c	0x0c838d5a	0x736415ba
-	0x9638ab07	0xb32c72bc	0x304d191b	0x7775adc8
-	0x57ece662	0x0467bb66	0xb7cf80e8	0x4c635024
-	0x176946c3	0x29cba0ae	0xf214b3f2	0x6e727126
-	0x87b3747c	0x4c19b86b	0xfcc66fce	0x86681713
-	0x636387f1	0x589e78f3	0x2e8abf1c	0x22c828f7
-	0x99653c62	0x8e3bd31c	0x79187a73	0xc6d0e5e2
-	0x8005a045	0x78a38c60	0xe1e8ff4b	0x1102d320
-	0xaaf4ba7a	0x7223d041	0x45f73e81	0xaf7168af
-	0x218ab3ae	0x8b1956a7	0x4db00173	0x482c3bc2
-	0xd982b945	0x4bd7757d	0x0c5ef18e	0x74e66de3
-	0xcf421ae1	0xf2ddc098	0xcec27e0c	0xe79e711c
-	0x6f76e136	0xa8d72245	0x196390a6	0xbf56633d
-	0xd1156298	0x5712cd8b	0xaed801ae	0xa345fab5
-	0xfde1ba97	0x437a0b29	0xfc5628a4	0x93acf698
-	0x83ce0bff	0x212f15c3	0x723ef016	0xe793bd50
-	0x8bc51b39	0x42f17ad2	0x1df73878	0x19af3c24
-	0xf55b6f93	0x506138d0	0x164c542a	0x8d4e1a26
-	0x6c606f83	0x6fbebdf5	0x0e4ad76e	0xabd88e6b
-	0x0e0d74e6	0xd139e08d	0x8b6cf03b	0x04a527b1
-	0xe619c7a8	0xbf0d57f6	0xb38a5f5f	0x3f328013
-	0x374c0a9d	0xff36910c	0xe950a494	0xfc477720
-	0x37bd9390	0x4667497e	0x724eb66b	0x86bda8f7
-	0x52efc959	0x32d5c2bd	0xddbb49ca	0x9c1eef2c
-	0x508d8b81	0xc33d7001	0x360ae3c7	0x1197f6c2
-	0x25efc933	0x4ad234a5	0x9e9c8658	0xc16d4aff
-	0xbc428573	0x30e8b4c0	0x728c2c48	0xf34e1e70
-	0xd62187c5	0xca869f89	0x34685a33	0x85d9b877
-	0x9f77605f	0x93724d34	0x5fc8e8d1	0x70dd81a6
-	0x643e543b	0xe4ad6c73	0xd6b4e5cd	0x387519c3
-	0x719d8c6a	0xb2e0565f	0x02235c90	0x230c9b5e
-	0xe76841a3	0xc2833be0	0x4dab4a72	0x0ae6c0a9
-	0x0b5e12e2	0x4cda3610	0x954b6ff8	0x6d89a683
-	0x3583e633	0xdc540da7	0xe2955deb	0x0f290d9d
-	0xb01e57c4	0x977f4588	0x24b95f0c	0x45529128
-	0x4528b5ee	0x27511439	0xd088d9bc	0x7c471853
-	0xf03b8455	0xbda4a828	0xf49736df	0x50eb17c3
-	0x2affe0e6	0x6727858c	0x6500b8f0	0x0483aa89
-	0x0e1f6a41	0x72666733	0x85617ce8	0xa0c86838
-	0xbccd2eed	0x06e8462d	0xc947bf5c	0x4d2d0a53
-	0x02e70008	0x5039a596	0xb0118cc1	0x690ba325
-	0x057ca95e	0x032cc1ba	0x3dae2c88	0x4eaa740e
-	0xf07b09b5	0x6b2c2135	0xeca746b7	0x76019533
-	0x4cf477b7	0x31848299	0x6b5c7df9	0xc0db5ff1
-	0x7cd3e08d	0xe25fa562	0x260d66a4	0xda30cf2c
-	0x14ab6c70	0x029a8dd5	0x7cd5fe2d	0x98ea5852
-	0x555cf635	0x6c72ccbd	0x64120bef	0xd9e19613
-	0xf26ac6e8	0xafea03a4	0xc14a11d7	0xb2f8420e
-	0xe319634a	0x8a8fedd9	0x6ce0da89	0x74269f31
-	0xd7e0d776	0x86ae9513	0x48bdea80	0xb2e4c581
-	0xab25566e	0x9ccb71a5	0x7cedb09f	0xd2bdade6
-	0x39c96ad5	0xe8ebbeec	0xac8a2e2a	0x915be930
-	0x95e7c98b	0xd00e1d3b	0xdacd08ac	0xd9f515fd
-	0x45cd3946	0x828a2cc3	0xfbe1bd9a	0xc5e1ebcd
-	0xac69128c	0xcd6423ba	0xd8653b60	0x48f0614f
-	0x0c1ebbbe	0x7ab89792	0x9a4b0097	0x2bda854d
-	0xf17ab2c9	0xcde54eb9	0x4b53a030	0xe2399c4c
-	0x19454a2f	0x473fe390	0x3a42c16c	0xc4c106a9
-	0xf5d96e73	0x2ab4078c	0x5d20e7ba	0x47880aab
-	0xff5e0d78	0xa374bdc2	0xc17109ea	0x39fce648
-	0x00821cbe	0xc54a60ee	0xd753386e	0x7b28fc16
-	0xb6309bbe	0xaefd0548	0x41168500	0xee5989a3
-	0xe0177f09	0xc9fc9eb6	0x09a6e188	0x45776a0d
-	0xf19a4830	0xc6774893	0x814b2e43	0xf8be5e3c
-	0x22fa8237	0x75c98f46	0xb1c52edc	0x443d54f8
-	0x6a1a886e	0xc7f33598	0xaa794644	0x685e5ca2
-	0x97a735ba	0x3c1a391c	0x13f6f89a	0x660d7041
-	0x333c3eef	0x40541bb9	0x5c3724d5	0xc348023e
-	0x89791dd9	0xe72fba89	0x5af98b2c	0xb534fd29
-	0x64d0e6b1	0xa578e77f	0xf311215e	0x634cc8cb
-	0xbc534e51	0xdfce3ac7	0x90f88f51	0xb3f7dd48
-	0x20b3e0ae	0xf4456e85	0xacb3925b	0x2eb3ce78
-	0x37e61d82	0x724b9cbc	0x1462d9c1	0xd3f49dc4
-	0xc1ffcc00	0x7c3e3f86	0x6f283bf8	0xf43671ab
-	0x90cbfb35	0x55390829	0xc8fd0d31	0xc687c45d
-	0x724ee656	0xfc1eab3c	0x3c8c2f04	0x3caa3af4
-	0xbe220358	0x4d5b49a2	0x12cf4893	0x867173fb
-	0xccd4b513	0x7c94a1bb	0x86c42c18	0x2b2070f3
-	0xd2a70638	0x9d7c07e3	0xd02ed59e	0xd349488f
-	0x1e85754d	0x333db889	0x0d0defdf	0xef282e45
-	0xac3f6c29	0xd65a68d1	0x5d0914e4	0x395ec78a
-	0xb056aa6b	0x4d98d059	0x7ae08f88	0x25c923d2
-	0x79670f38	0xa881d62f	0x89cd5015	0xfb01da43
-	0x5861244c	0x05e201eb	0x41d71eda	0xb2babb53
-	0xc3845fb3	0x1f3b5c56	0xde6c10ac	0x73adb998
-	0x714aac3f	0x4ad9fc65	0x3acdd014	0xeb319d58
-	0x48842806	0x47ec1040	0xbfdf0052	0x3c478ec6
-	0x83b43a0f	0x9e727e69	0x9f4d5925	0x9f45c13e
-	0x30b8572b	0x26edf8cb	0x577e8b9d	0x9b98d7b3
-	0xa44a9bbb	0x903e39eb	0x51226dbc	0x933a52b7
-	0x14c6dc86	0xbc24db59	0x21054454	0x98fc5fa6
-	0x2c9d8606	0x19178173	0xeda24205	0x90dfaca4
-	0x21d562ad	0x7e3ad05e	0x2b3a40a4	0x46513f35
-	0x0d13a598	0x8bf71ca2	0x6a36c430	0xe66f5587
-	0xc9f13bd6	0xb6534a8b	0x8a3fbfd6	0x38cdfe6c
-	0x1a1c89f8	0x6d782709	0x7919c451	0x6ccc96fa
-	0x334029b2	0xa638356e	0x001e709f	0xb2132b06
-	0x483f1933	0x189ab8f9	0x4ba0ec13	0x490aee0a
-	0xda63f1fc	0x5679d38a	0xcf1e92f3	0xe7257fbe
-	0xfeb733d7	0x0704860a	0x34ce2032	0x663b948f
-	0x544cc928	0x8c23d5aa	0x67986469	0x93f9ac08
-	0x4fa9a13f	0x9eb311d4	0x41a64161	0x29d1050a
-	0xa5285c24	0xb53d03a6	0xc5de26f3	0x7876d1c5
-	0xbdcdcb4b	0x79d1196c	0xe9890732	0x3e58a8c0
-	0x874f03c7	0xfdfc9cac	0x5d57fa57	0xa3ef01df
-	0x47bcff48	0x8beb1aae	0xf4bb4f9b	0xa5c83b64
-	0xd69ab0ce	0x40f6691d	0x2eb8fb7d	0x22640f8d
-	0xac1ba157	0x3687d705	0x7fac8727	0x4ad75cd8
-	0x7016d2e9	0x25c36c08	0x7e4248ea	0x292bda19
-	0x2acf589d	0x0ef7726d	0x835f9e62	0x3f9a1973
-	0xbb6d2588	0x078ff6b4	0xaec22b5d	0xc740501e
-	0xa2ab115a	0xea993e64	0xa0cc3ed1	0x934e4e0e
-	0xd732b66d	0x5fd28c47	0xe4ccb898	0xc6a101c0
-	0x78274bae	0x625df6a1	0xaf774052	0x3b7c08d2
-	0x6180ac39	0x3e5aa769	0x6ec74578	0x6b5d27b9
-	0x98e58a17	0x119dd7d4	0x39429c5a	0xe3d5b391
-	0xbb8fddb8	0x5929801c	0x68cef71c	0xc36fa301
-	0xeace4850	0x29f4f97d	0xa58bad79	0x2823998f
-	0x0fe1352b	0x5960ded0	0x69308816	0x0d7e33c8
-	0x2fb13bfa	0xff6a326f	0x69cb631a	0x839ea2a1
-	0x528a8065	0x34cbebfa	0xd4432cc4	0xe13b550b
-	0xe046569f	0x87b41fb1	0x7751107c	0x0ef6e60b
-	0x856ffc50	0x11995683	0x77c2ebf1	0x4dec97f9
-	0x3a28ebc0	0xb7bfa04a	0x40cdceb0	0xd559dd06
-	0x61c2cd6a	0x8a906fa2	0xd55f43d6	0x7fb3ac35
-	0x8cea4e81	0x1d359c2e	0xec447c57	0x3414f7f1
-	0x18243b84	0xdf76849f	0xd753044a	0x7af2d51e
-	0xaee26ecc	0xae6946b2	0x7478c675	0x88b22f49
-	0x4de13fc9	0xd35c5956	0xeebb60b6	0xa15b1736
-	0xa6e78d78	0xfd5e30b3	0xb4fade2d	0x964eb418
-	0xe9035f51	0x22ab8242	0xfaa64053	0xdfe03834
-	0x47beb588	0xb82a0887	0x11182e85	0x2f2f9a67
-	0x4b612f11	0xae04077e	0x7f783c25	0x883a34e1
-	0x32d43beb	0x6f0536f7	0x85c1537e	0xfb26199a
-	0x45417e88	0x4af2c8cf	0x0a334486	0x2a3e6838
-	0x31b8725b	0x63d64541	0x7e516a0e	0x7e42e766
-	0x4cf30198	0x68abecff	0x7fb49c43	0x8f5b558b
-	0x32b99abe	0x67337248	0x224c3411	0x4e7c41b7
-	0xd3aee3a2	0xca19e704	0x2a430b7d	0xe9aee453
-	0xf4ce492d	0x48fab2a9	0x42ec2076	0x0182cea5
-	0x8a6373c7	0x18f41b5d	0xdd062fd5	0xb1db44a7
-	0x285ad917	0xeaaabbd1	0x359b1b23	0xcc123c8e
-	0x38b70cb9	0xb01ae722	0xa6e72010	0xb647530e
-	0xf9651d41	0x366d6d0f	0x4b656a6d	0xd36637f0
-	0x4b5ab8bf	0xc22fdb1e	0xc57c8250	0x799f4e60
-	0xb55bd50b	0xe8a3432b	0xe752e4e0	0xd0c86482
-	0x122991f1	0x5bec598e	0xbcb89abd	0x739f61d0
-	0xd230ae2a	0xd0b99c05	0x2a998a6d	0xab715831
-	0xb7dd1939	0x57db0ea7	0xed1f4952	0x49274caa
-	0x35e319b0	0xed2c9cb3	0x601caa20	0xfe782688
-	0x64b6d30b	0xcd5c325c	0x2c836157	0xa3552f79
-	0x188094db	0xa42dd7e8	0xc09c2dda	0x02d98d8d
-	0xed270d28	0xb0f38ada	0x5d7b4261	0xb41df8d8
-	0x7341b6ae	0x024ce90a	0x0727ae4c	0xa8dd3a0d
-	0x390f84d5	0x43f5bd12	0xd11fb61f	0x6fc330e1
-	0x7f2d7fa6	0xf758a4e0	0xceb1f3c3	0x2f341836
-	0x98fb470f	0x5bf68e58	0x1917a5b2	0x75f33be6
-	0x16e22316	0x8aa810a0	0x1fc6c9b2	0x22179249
-	0x3de701e9	0xec48d8b6	0xe85248c1	0x314ce9c1
-	0xddeb2f47	0x0187909e	0xaa755f62	0xb2019460
-	0xb2016a9c	0x91f789be	0xe5925997	0xe4864300
-	0x1fd13759	0x0ad97c1d	0x7cf08c01	0x7eac2dd6
-	0xcf61a7f3	0xaf9e108f	0x939a2fd9	0x0cb48e78
-	0xe6ea1a8b	0x0b968273	0xef1c9310	0xf60e82b7
-	0xe76e9bed	0xb8fa9668	0xf889765b	0x0e51eed6
-	0x6b6566ea	0xa8f7e2c5	0x9d8c283a	0x879afdcf
-	0x944873c5	0x58afcfa2	0x2e60600e	0x59666667
-	0xc812b833	0x5842d0be	0xdbdc0829	0x786bcff9
-	0x5857ba06	0x6968c729	0xf5447949	0xdb1ceeb0
-	0xaf04d1f5	0x30614f7f	0x3e80fdc9	0x8a6e1ce0
-	0xa267d7d5	0x8896143e	0x24e59072	0x68122e1d
-	0x3ce24add	0xda677bdc	0x8c3f74ef	0xfa60e825
-	0xf5c136cc	0x2cc5f249	0xa1c6b642	0x47a2305f
-	0x52cadbc8	0x4d0c32f6	0x07f4d344	0x1f496d59
-	0x5699b970	0xb8cbe564	0x707f7a2e	0x818bfd45
-	0x800a8be0	0xd3de4f1f	0x62de0a3a	0x6b342869
-	0x054daa7c	0xc72b945f	0x1612f126	0xdb4ad492
-	0xa28c467b	0x78542799	0x61607353	0x39f1c142
-	0xebf30ad6	0xabe076d0	0x5125cce4	0x5584149c
-	0x65fa33f4	0x878a918f	0x8c7e5c37	0x334c4284
-	0xbfd816e1	0x0f0f3460	0xd54519fd	0x03701ca9
-	0x64885229	0x00e841d0	0x756a9472	0x0c16c5f6
-	0x65560e81	0x129b6995	0x91c9dd1e	0xe9730dae
-	0xce47f2a2	0xead8a0ee	0xcd58078f	0x7ca2df31
-	0x0ebbf13d	0x3c74e061	0xb7f3980a	0x0d354b88
-	0xfd8db90c	0xec6726d0	0x6bfce0f5	0xea98b7a0
-	0xac5ddde2	0xb372a14c	0x47b09ed5	0x531bd5c3
-	0xcfaf5a0a	0x51d6394f	0xe9efdfa8	0x37c79445
-	0xb13ebf62	0x46715efb	0x31e6a0d7	0xfa48ab48
-	0xc6552f2c	0x3067b978	0x0afa4ab7	0xc2c17055
-	0x68dd427d	0xeac01e43	0xe90f12d8	0x6d97c3b1
-	0xe0d339b0	0x2f3c84cd	0xca3eb3b1	0xbc0d86e1
-	0x3566f657	0x083374b0	0x199c677f	0xa4a8a4d3
-	0x224dd5a8	0x8f304abf	0xe1019878	0x9b290d4c
-	0x5cef7341	0x59ff7e48	0xc91663ac	0xb0b1bede
-	0xe9d8a9a5	0x8f34cb70	0x588d00d6	0xb7fe69b6
-	0x29036caa	0xd21d7998	0x4edc3ee9	0xdbd94f37
-	0x99c63455	0xac94efda	0x545635dc	0xb787b5e1
-	0x8228666b	0xc7cd8170	0x4f1924a5	0x437884c1
-	0xfa9236fb	0x1f0f949c	0xd1dc0597	0x56082a24
-	0x04e51919	0x05dd926f	0x06d264ac	0xaa672d38
-	0x5a3e396b	0xab48a57c	0x53489bd1	0xb36b3ba2
-	0x55164db6	0x5b52c5f9	0x68aa8b7f	0x922ce829
-	0x09e6e5bd	0xbc488a86	0xc0fb6dab	0x98e7754b
-	0x4c9ad717	0xe3ae7045	0x0b498742	0x80a4384b
-	0x0dfe0b99	0x70eab3b9	0xbee30b9f	0x4237ca85
-	0xe67662b1	0xdae3dce5	0x47c84a45	0xf72febf2
-	0xa58dfdc8	0x77ae88d4	0x038c76b7	0xae699990
-	0xf5f10de7	0x65d4c59a	0x004a8b4b	0x67c788ec
-	0x71c918d7	0x0ec70171	0x7041de53	0x43591e1c
-	0x807242f8	0xa27fe146	0x0055fc7e	0x2f08467e
-	0x5e04a068	0x54dab094	0x4f6e8c7a	0x20ac2825
-	0x47949a42	0x9181486c	0x038e3132	0x7c1c51be
-	0x97544f38	0xe2d27588	0x64889c21	0xdad9a1a9
-	0xf1d328a4	0x7d47991f	0x2faa1b85	0x2430cab0
-	0x0e849f91	0x213686c1	0xa2635f37	0xee7983ae
-	0x87871273	0x6867d60f	0x04cb29ae	0x4e0ee4ee
-	0xfbd2666a	0xfd7fe017	0x870b26ee	0xc42e104b
-	0x78919117	0x19590e66	0x9e1a5039	0x9609471b
-	0x4057fde6	0xc1f27544	0x30af8a8b	0x2ea267a6
-	0xcfd886b6	0xe632b1f3	0x3f10bc50	0xf38a1bd8
-	0x7ae1e284	0xe3876d7a	0xb4ce64f8	0xf74b4100
-	0xa97686da	0x17ebacde	0x2ab068e8	0xcebd1076
-	0xee8f81d8	0x0d394301	0x6f32c277	0xa926dc1c
-	0xd5d2ea55	0xdc016b6b	0x6a96022f	0x0143e314
-	0x23836eed	0xa3e18369	0xd2a155bd	0x8022cef6
-	0x080b32a8	0x74ba38f0	0xd1ca2089	0x7c80219e
-	0xf536af16	0xd7a337e3	0xa33600a6	0x39c7754d
-	0x7d215312	0x1dd65026	0x8cb496c7	0x89dfd508
-	0x9f945a1c	0x45caec32	0x020a1edc	0x5917baa3
-	0x296b4b1a	0xcfaa2023	0x63e7a0e5	0xc48b19ae
-	0x78d98b1e	0xc5d6be01	0xfe4ef13d	0xea6c9915
-	0xb8190f09	0xf1793822	0x9acf1593	0xc7710fa0
-	0x6b9a9f3d	0x0220ee2a	0x5d63043d	0x7292a0d5
-	0xba9a1682	0x6f1e7c19	0xed7cc52e	0x6bb89645
-	0x4370269c	0x9cb2c1a1	0xa7135973	0xfd1f3bbb
-	0x50e6eb67	0xf2b9bd22	0xd891f6a7	0x4e0a7449
-	0xc3dc0005	0x878e3333	0x3b4b8686	0xb215c65c
-	0x5d8d24c0	0x8d203496	0xff20d243	0x0a6c1253
-	0x2385c79f	0x52e8d6dc	0xda4bb8b7	0xfab66d97
-	0x05a4a795	0x6876e856	0x9dabedc2	0x53550c20
-	0xb3bba16e	0x853bf1cf	0xb85b906d	0x3f374468
-	0x62e07c2c	0x6903a495	0xdb119586	0x07e91546
-	0xa8388945	0x5a4e1dda	0xf054cdad	0x4b052880
-	0xe9bbc9ec	0xe3555e11	0xd4d6479a	0xcad6a986
-	0x31d9c4ae	0x510ff951	0xcb2f3164	0xbe283401
-	0x0c390b9e	0x0c9cb487	0xe64e8ffe	0x611a63c0
-	0xa1d700a5	0x3f864335	0xd1fdf32d	0x7a3aeb09
-	0xabbc8c4d	0x4d703604	0x6532c8e7	0xccebc529
-	0xf3c0f514	0x1567f19d	0x591abf6c	0x6c7fc459
-	0x0858b061	0x092b2489	0x33c1a9cd	0xd6cc8e2e
-	0x7c1ffeb3	0x3f45cf40	0x1fbcbd39	0xc6f0e628
-	0xb88bab4d	0xc699de42	0xb62d850c	0xf71a6768
-	0x2866b891	0x13093fcc	0xc730c502	0x2deaeff4
-	0xb1bc8535	0x4303997b	0xb31ebd2f	0x82debe94
-	0x843fa02d	0xba29f80d	0x03cb58c1	0xef1d2017
-	0x0b5aadf0	0x6c5c3286	0xf084faeb	0x8b96a39b
-	0x67cb38f8	0xf686ee62	0xbfdc22a1	0xee3f779c
-	0x8ec73c8c	0xb448536d	0x67bb5d68	0x4369ea8d
-	0x4b5367cd	0x2dbbc0be	0x8f5986e7	0x798c8392
-	0xd3aac078	0x0081c0bd	0x94d9d70b	0x40bdeae8
-	0x6b528e89	0xb0713745	0x063e535f	0x7d696463
-	0x64f0666b	0x68a82e8c	0xc749dd19	0x875883cc
-	0x3d35728d	0x4c0e5d8d	0x135f11b3	0xb649b37f
-	0x8aead5cb	0xdfbd573e	0x563bf917	0xcdb75f08
-	0x024b93fb	0xc6477eea	0xd88ce51d	0x95f7d77f
-	0x0b561446	0x2fb6992c	0x4b48c8b1	0x940da60f
-	0xf1be60b9	0x66d8641b	0x17a0ce15	0x49d22f40
-	0xb8c494da	0x91930bb1	0xcd317991	0x4c5b4c23
-	0xafda60eb	0x212c9f04	0xe4732f4e	0xf731ae57
-	0x19165943	0x2d9288c3	0xc9c45dd3	0x2e05b148
-	0x225a256a	0xc0249ea2	0xe96733d1	0x56a6803f
-	0x20458549	0x28210fd6	0x13da740e	0xf0f0be41
-	0x029c1fa9	0xb1daf3f7	0x1bf0c9aa	0x6f0d5221
-	0x998b3616	0xa02212a3	0xe76b39b1	0xba0823e6
-	0x146da6a4	0x858a3e0e	0x58e75b32	0x732f75ed
-	0x8d88385e	0xe0e7ed55	0xc08ca86d	0x97e2ef67
-	0xbb048208	0xd384c40b	0x8595bc69	0x65581977
-	0x7b091c4c	0x60bfbbb5	0x23bcf38f	0x32e4621a
-	0x7f790d95	0x72c3267c	0x34dd0c12	0x27438915
-	0x5619893a	0x09d55159	0xdba7eef9	0x7413634f
-	0xf4883417	0x59a2f28e	0x491f5779	0x0c138f9c
-	0xc52a03de	0xcb1f92d0	0xb6cfcd21	0xbba95c83
-	0x5302f12d	0xfc4c030f	0x18722dde	0x131cd3b1
-	0xa19a1cdb	0x103d9216	0x403e45db	0x5cab72f3
-	0x17e18f5c	0xbad9d0d9	0xd0d2e010	0x798106fc
-	0x3abace6c	0x2c3131c6	0xf9529b61	0x27cfa158
-	0x8890951f	0x87ccf0f3	0xa112b1e8	0x3e0eb033
-	0xd7469e14	0xb6ccd2ca	0x3d238069	0xb32f057e
-	0x8d2c939b	0x18d8aa3d	0xdb3cdb2b	0x861ba258
-	0x46e7b170	0x4830d004	0xeea1b8b2	0x44e29b51
-	0x0cdd8591	0xf93ad973	0x9383c44d	0x24e323be
-	0xaaac87a1	0x84eb09d7	0x1f66b641	0x303f92b4
-	0x81a63a86	0x516321e4	0xe33dfe2e	0x371a4624
-	0x8f936425	0x596976ca	0x7b1947ef	0x83a9db29
-	0xc5f337b0	0xe4d51b73	0xb35b56ce	0xb9cac5ba
-	0x51705ecf	0x93e7d63f	0x5ee7d916	0x479f25b9
-	0xe90bb406	0xfcd6e78d	0xbd8ed9b7	0xbca7c8b7
-	0xdf95f4cb	0xc28baeba	0xb4534bbb	0x98b4f840
-	0xf2218357	0x726e4f81	0x7591ebc4	0xc0523d15
-	0x6bc82550	0xedfbcfa0	0x57280f50	0xbe7e420c
-	0xd1152012	0xbf3ee0a2	0x11825710	0x18e728d1
-	0xb8af00b5	0x2d1e940d	0x1c9ade8f	0x923ed269
-	0xfd8c2580	0xf6477ff7	0x476a486e	0xd09c18dd
-	0xaede7959	0x55fb68fc	0xe5692f7f	0x0bf4bd18
-	0xf5fede2b	0x07bb05e7	0x1bb8ec54	0xa46bba84
-	0x15051826	0x762ce6ae	0xa0246225	0x35c38cab
-	0xbbd00a24	0x8205d3f4	0x4cb33ba4	0x293013fd
-	0xd4f67965	0xe9c1951b	0xff108efa	0xb8e68197
-	0x36d51e4c	0x2959f7f9	0xf2e4206f	0xc9973e09
-	0xb61ce3fa	0x9543be90	0x63642668	0xcaaf02be
-	0x7346a8eb	0x4111f5b5	0xa453cc2b	0xdb524b49
-	0x4d528cfa	0x71e5fc4d	0x62cbbab2	0x8423f40b
-	0x1a4db908	0x560c41c2	0x03982d88	0xa49c553a
-	0x529f6acc	0x82dae294	0x6c5dbaa4	0xfb4ae1f2
-	0x36e31345	0xb5cba88e	0x3704c623	0xe35245ea
-	0xa412107c	0x35faf59c	0x08ceb649	0xbd67a6b9
-	0xe37ddfdf	0x21303abc	0xb7de5e8e	0x88d9366f
-	0x49bdd73c	0xeca0cd02	0xfe1e01eb	0x30a56c2d
-	0x0cae1f5b	0xe77521c7	0x5ca59eaf	0x1288aa13
-	0xc60bc96f	0xf7292504	0x2b037e4d	0xf34757b4
-	0xedcdc492	0x39044092	0x5d710fbb	0xb8658511
-	0xe23e4d57	0x595d4d3f	0xc0f80105	0xfe952879
-	0xe81e2cb6	0x4f5a8fed	0x3bd0d700	0x211887d3
-	0x6ea6e78a	0xe066640c	0x0d29c725	0xdabbeedd
-	0xd2aca4d4	0x65c4a06a	0x6645b62f	0xb1de0cd7
-	0x022e07ea	0xe9f9248b	0x0a2251da	0xdf34159c
-	0x7894bab3	0x72e465eb	0x37448fca	0xbfbc1911
-	0xa79e4938	0x48b83ec3	0xb9c6833f	0x19d24abb
-	0xa434e777	0x77947277	0x2309612e	0x546a6ebb
-	0x4c96447e	0xab918dce	0x5075ba1d	0x0aa55a7c
-	0xadcce25b	0x837819d4	0x90d62a9d	0xf116ede5
-	0xb056cc7f	0xb036353e	0xb7c1af8d	0x014c2cd1
-	0x356f1593	0x008c2634	0xf7cd0cb0	0x02b0576c
-	0x5364c954	0x5b40800b	0x60054bd7	0xef31bb60
-	0x1a85370a	0x458c4348	0x435b8da2	0xd8df0e06
-	0xde0cf1b8	0xd3c6171c	0x0bc14938	0xdc874128
-	0x694f96cc	0x7b6687e0	0x9ca59f25	0x617aea60
-	0x63ebcc8d	0x4bb44d00	0xce46d01c	0x4ab07a75
-	0x64757638	0xe5903811	0x3562895b	0x760627ce
-	0x8939cc7f	0x225db9b1	0x730062d9	0x7a5a7a15
-	0x49678fc3	0x8620cb95	0x9439dee1	0x501f2cae
-	0x3d08a33c	0x352de5c1	0xe7b24442	0x6ec76b79
-	0xc575a1e8	0xb7024b20	0xc9dbb9f0	0xfe2303c0
-	0xba3716ae	0x0cf37bdc	0x1c68a4a7	0x7ba0d609
-	0x43003a93	0x17dd96c3	0xb884aa37	0x15b2d65f
-	0xf6016133	0xd1fd7e04	0xc0a22822	0xf8c26247
-	0x818c35fa	0x4e2b3605	0x83923c44	0x4ddd4397
-	0x6faf6a11	0x50438703	0x67796dac	0x3443b780
-	0x484f5bb9	0x8ead98ea	0x472ae543	0x94b0b17b
-	0x1307833e	0xcb0e8286	0xb02e1ab1	0x36a89f9a
-	0x372e82f0	0x84741303	0x111ad8ae	0xb1eeacb7
-	0xd7d8ccd6	0x5f779f32	0x0d65184c	0x0a398467
-	0xc07c099f	0x0704ffdc	0xa10b2f17	0x4c926dc9
-	0xd80829ee	0x0821015a	0x512e6d0e	0x57b514dd
-	0x509cdfd6	0x7e08ef24	0xf536c381	0x65483797
-	0x439311fd	0xabed0f15	0x51a372c2	0xdd24c506
-	0x839cdd63	0x0c21c8dd	0x513d9eb4	0x43c6a95e
-	0x5d543848	0x64843a49	0x687bbf41	0x93d3bce3
-	0xcf85eea3	0x5f3a6fc4	0xe7b45979	0x4c5848ce
-	0x924188e3	0xbcbded12	0x0cc18c86	0xf3fd5723
-	0x148dddb6	0x77cb388f	0x30afd47c	0xa306c453
-	0x1da0b234	0x0f206f46	0xf25975bb	0x9c75d28f
-	0xc60ad2fe	0x0067c5b0	0x497a1617	0x81d330e6
-	0x2c5362ef	0x86a54b1e	0x80ad976e	0x0a86ed37
-	0x1183b84e	0x2e2ce6e5	0x10b02598	0xd56fb0b7
-	0xe3e0bca5	0x755d2333	0xe0be1b85	0x6c976f4a
-	0x555a1465	0x8ab38399	0x51d4a5c8	0xec3d86e1
-	0x2a85d0dd	0x0d31c16f	0x603f2d48	0x274d5d68
-	0x292e7df9	0xe444f292	0x329946f1	0x132c3230
-	0xb2c3ec05	0x88362f92	0x763dc2fa	0x7ee6f3ab
-	0x7ca649e8	0xafee8a8b	0xeef65517	0x4789c1e3
-	0x85bd4cb3	0xc87762d3	0xfa528ba7	0xa8e20dde
-	0xd369c227	0x97e7f300	0x8256f4ce	0xdd5d2901
-	0x1e37c55e	0xbb6e22fa	0xd9424392	0x8798d9a5
-	0xc118ddb2	0xc3c91c40	0xe68ead77	0x8cf3655b
-	0x4381e8fc	0xc94f312a	0x0b372483	0x70b620df
-	0x53820813	0xb50d6f0c	0x64a53e9e	0x6f7f19f3
-	0x6315f718	0x9aafff2e	0xf3b5a338	0xf1f3293c
-	0x750ac26c	0xefe3ddf9	0xdc7369eb	0x024dafe0
-	0xf56354fe	0xf0afaf86	0x7da1df00	0x7447ffa2
-	0x4afd091f	0x24f39c82	0x3b3c8aa3	0xd90fc65d
-	0x10d90b8a	0xf05d49fd	0x281320fe	0x75f62523
-	0x0537b558	0xf52ae61c	0x77961852	0xbd0db386
-	0xcb650cb6	0x7387ec69	0x320764c4	0xf5013b3f
-	0x4f4239c8	0x4983a307	0xf510f405	0x7e355790
-	0x4f8480d2	0x50dd84ca	0x66947bed	0x56efdfe0
-	0xa593407d	0xdac216de	0x642a5f74	0x92bb9c2f
-	0xf37abdd9	0xa24b1b64	0xca1f722c	0xaa5de969
-	0xb6cb128a	0x697f787b	0x5bd74fb3	0x6de74e39
-	0x2bc9a4aa	0x634455ab	0xa82aecc4	0x69647f0d
-	0x4be06592	0x0c220c92	0xb08adf1f	0xd4571d2a
-	0x0fadece6	0x297c124f	0x2830a499	0x3cc8363f
-	0x44e34d3a	0x27b4d820	0x98be7f08	0x43417964
-	0x8a3af8ac	0x89c42336	0xe55d19dd	0x00ee1f6e
-	0x47d48658	0x55986f58	0x11ccb046	0xf3b97a07
-	0x7ed364a3	0x106cfcd0	0xc1533857	0x3add2c15
-	0x143852c7	0x55b38512	0x49a85ce8	0xd61a285d
-	0x513bd0b9	0x21bde48e	0x4f231482	0x93aa6dde
-	0x88035659	0xa83e3d2b	0x542513f8	0xe6e74a1c
-	0x06092343	0xd37c8770	0x41553ead	0x09980a79
-	0xb0e45895	0x80db4662	0xa6ce0960	0x965cfa7e
-	0xfea96644	0x2a79157e	0xf020e115	0x61823e96
-	0xf14f63d7	0xd753d1bd	0xd24a060d	0xfd2691b9
-	0x18da9d0e	0x9f3c93c4	0x2730e0f2	0xb47e2afa
-	0x920fda38	0xb5d89646	0xfb4728e5	0x7e78c2cb
-	0xe46f812c	0xe51cc5c0	0x9d2957fc	0x548798a1
-	0x240c2103	0xd650ff70	0x15c49ff6	0x99587c0a
-	0x1bb4a5ca	0xd6db66e7	0xec2d3ac5	0x54164690
-	0xe61bd6f8	0xc7a45cf8	0xee25f4f4	0xd1eb3ae7
-	0x90085a1b	0x46a7a74b	0x829717f2	0x7f0769cd
-	0x3ef72792	0x0c8617a7	0xa86becad	0x9dfe5329
-	0x1a33c5a6	0x47d4c75b	0x2e10b45f	0xbd11762e
-	0x15b72a9b	0x015c7f84	0x379c6bd2	0x27525345
-	0xff3ac5a6	0xac916082	0xf5c24317	0xcc43fc64
-	0x7f092c8d	0x931d9a0c	0x5a07f13e	0x3e1aa46b
-	0x717a343f	0xd51221c4	0xc9422fcd	0x63f7af00
-	0xde81a497	0x0322d271	0x972a4065	0xd75df029
-	0x343a94a0	0x8c225f7d	0xb4abe87e	0x3cb8ba1b
-	0x0babab14	0xf29704e7	0xd7134233	0x391f1a35
-	0x33aca565	0xe6ae586b	0x0470a42c	0x570efddf
-	0xfea26a3b	0xcee8d934	0x99ece522	0xb8af1375
-	0xfe4dea4b	0xb96a32c2	0x3469ef9c	0x029fade7
-	0xc4e77d55	0xc0449b95	0x63336e95	0x8d46c2e0
-	0xd86d6e23	0xd365b781	0xe73ba0fe	0x10a354c5
-	0x2d4511a0	0x077206cf	0x1c0dbd55	0x03396771
-	0x8bce27af	0x70355b4b	0xc2275e58	0x3cfa4df5
-	0xc8b3b9b8	0xf3fd510f	0x6b055de5	0xb3fef295
-	0x42b95a20	0x5b5e75e7	0x0aaaa734	0x636d50ae
-	0x8329283e	0x446e76f3	0x6adc320d	0x69a3e9df
-	0x1da68939	0x6f071783	0x498dfee5	0xaece51ed
-	0x4f8a72a8	0x4f2f2f65	0xdac3ba47	0xcbab0287
-	0xf966cb4d	0xba27861f	0x54c79a21	0x44e2359a
-	0x6e6b0e7f	0xceae84fb	0xb1530a59	0xecb8cd96
-	0xff60633e	0xed748fe3	0xf1ab0d95	0x59997216
-	0x6894cf41	0x948fc7bc	0xfb162ae5	0xeb9951a1
-	0x99d0a7a3	0x9234587f	0xcd42615b	0x6f9ad0e8
-	0xeb936dbe	0xbe72b62c	0x44ab5e9f	0xed736b08
-	0xffaedca9	0x103b89bb	0x7896b40e	0x13a5a924
-	0x56786357	0x02ab80ec	0x72ef47fd	0x81bf0fd7
-	0x6661b300	0xaefadc79	0x9968433a	0x16f3718b
-	0xe997a663	0xbbb55a49	0xf9b9a710	0x5727271f
-	0x20e9bf55	0x358e3986	0xd1214e1f	0x4d42c46f
-	0xa6bf8194	0x0c14a853	0x7b51aeb0	0x2f3d4de4
-	0x3d6ffef6	0x4e94ba19	0x71a9c861	0xcade2398
-	0xe0b3eb18	0xc9f028b0	0x7d29d2d0	0x372ec60a
-	0x288a5bfd	0x4fc2bab3	0xc01dd045	0x8222e147
-	0xe06676de	0x750bbfea	0x586ffb3d	0x2addb655
-	0x767a6528	0x78abceec	0x1646cb38	0x21e26890
-	0xd2a7937b	0x2463457c	0x764103fb	0xd540867f
-	0x3566875f	0x007449ba	0xf9c0c523	0x2c51c86c
-	0x437e1196	0x69fc0059	0xe0103408	0x19f23997
-	0x23fdf335	0x7262eef4	0xcbe09390	0x583d0099
-	0xe862084d	0x19fffbab	0xd2958a5a	0xcb165416
-	0x32f3a97c	0xe502303a	0x16c4eda5	0xa1bcfd1d
-	0xc4f35053	0xfd037f66	0xdeac9fee	0xbfb167b1
-	0x39804db6	0x0bc2011d	0xf56bcd68	0x368cb345
-	0x52fcb352	0xc306c535	0xf6bff09c	0xa429cbf7
-	0x7e504be4	0xd2240214	0xf09ee41f	0xcbcf1fe4
-	0x70f96a85	0x8394bf28	0x3cc19a50	0x49581f96
-	0x58da5ae0	0x94708c48	0x63febeaa	0x4f656940
-	0xa7fd6879	0x65524f66	0x5f7ee0df	0x11d487f9
-	0xb494641e	0x7eb57255	0x5aa208c0	0x5666243a
-	0x7d5970b5	0x71ea69a1	0x67059c9d	0xd3bde5bc
-	0xe952b3fe	0x27bbf258	0x197504f4	0x5da6649d
-	0xecddf4de	0x2d040d3d	0xbc9d3ab6	0xd8cdfb81
-	0xb36ab627	0x7a548111	0xaaeefa4c	0x0e55b263
-	0x4f9da6e6	0x26a137dd	0xdea03395	0x23b87267
-	0x5b3cc98a	0x206de858	0x8d2e5cd2	0xb60f14e6
-	0xfc10356f	0xeecae1d5	0x39783cbe	0x1a1c9a70
-	0xb52c6f05	0x64adf10b	0xe12d9f3b	0xb3fb7cf1
-	0x9051fdea	0xc16ed3bc	0x697199b0	0x08f34342
-	0x2fb2bab6	0x729ed2b8	0x7691088b	0x82bc9cc1
-	0xafce7ac3	0xe167bbb9	0x362e5d43	0x945510ec
-	0xf32dce5e	0x4aec9a82	0xb80520d3	0xd8fcbe40
-	0xf4877350	0xcfdd487e	0x8c9ff8b5	0x84ce70df
-	0xffa6abd3	0xf9d2f273	0x342dbff8	0xa72580e3
-	0x6ffccdc3	0x0c7ccc0f	0x6b24afd4	0x82b71a25
-	0x1ba361f2	0x6ed8a67d	0x243ce000	0xd16b2e19
-	0x86d3c3e6	0xca209063	0xaff0b983	0xf411f71f
-	0x0f2ca724	0xa6fb0fb6	0xfa663640	0xe40fe20e
-	0xf8e2a5cc	0x1a0e8862	0x11de13a4	0xc811e4a7
-	0xfe6fa8e6	0xfefce644	0x8f7fcde9	0x94477c62
-	0xec9b942f	0xfda6b166	0x91330c4d	0xd059d679
-	0x96b0f7a1	0x22df13ce	0x3f36c3e9	0xc814e342
-	0x7b7dce7c	0x1000640a	0x8cbe7a56	0x622fa655
-	0x209d82d7	0x55668514	0x1534f8af	0xc2b7dc1f
-	0xd89da0dc	0x3ddfe751	0x0532dfe4	0xd39c360c
-	0x090f91d6	0x48587117	0x8ee383fe	0xf5ffdee4
-	0xd8bca448	0xd26d6d82	0xe8adcc12	0x8b14b8c1
-	0x7f872f36	0xb8cb0e16	0x76d60c06	0xf62ddbec
-	0x3ec7c151	0xe418a789	0x920a3bf8	0xc5b62e09
-	0x4974ea7e	0x0d8d7962	0x5bbb246a	0x37183d1c
-	0xf25c63dd	0xb15730a5	0x903e3400	0xdab426eb
-	0x0323289f	0x9bc16f49	0x2dfd02a1	0x3ab916a1
-	0xcb6f770a	0x342021b2	0xf9f5c9c0	0x9c8d53a5
-	0x3d53f39b	0x8e693c58	0xebecc732	0xbf30c538
-	0x96648d11	0x60f62751	0x29745559	0x8e365fb3
-	0x7d0b1179	0xea5abbb2	0xe45c4af0	0x53056b1d
-	0xac7b03dd	0x7015c355	0xf17f8dfd	0xe1ace271
-	0x9abacdc0	0x5ccedc75	0x478c717d	0xc01dfdad
-	0x26fb551f	0x73e61f00	0x8bc0b111	0xb6855743
-	0x28690dc2	0xf13b6766	0xc098861c	0x5c0ffa55
-	0x271e7d0c	0x66b47b80	0x9921a158	0xd9c560d0
-	0xb29b6ee7	0x50a9bc97	0xbec4d91e	0xdb2c1fcc
-	0xdf215786	0x1541e380	0x59cae516	0x2342b2ee
-	0x8088cd9b	0x7312579d	0xb17be14a	0xa1638c41
-	0x805c6b18	0xb8a56151	0x56f0a6da	0x96b114d2
-	0x0845ea7c	0x23e8f7eb	0x4e88e7ce	0x84640f2c
-	0xacf8eebe	0x4039725a	0x49bf9982	0xfbcfcbd9
-	0xfbbfb1c1	0x8041659b	0x5b8ee4f3	0x1b6d7a38
-	0xeb634fc4	0xbf818ab6	0x8076c921	0xc50be762
-	0x24c43f4b	0x3252acca	0xa7528630	0x9885b151
-	0x9154b37f	0xfd9d3ab1	0x4f93c117	0x578fba44
-	0xa56851fc	0x9d8083de	0x769f6fb4	0xd89fec27
-	0x747c8071	0xe6b2b747	0x8196e2a8	0x3ed6c699
-	0x8716f1df	0x65325e96	0xfbc715d5	0xb06f9171
-	0x7aa9cbdd	0x84bda56b	0xdeab06ee	0x80432d8b
-	0xd76f0a57	0xe0ed5f9a	0x70f991a2	0xf1a9e557
-	0xcbecbcdd	0xcf0d91fc	0x6751fd67	0x590f206a
-	0xa26d8130	0x1df02179	0x826303ce	0x6cd58190
-	0x1219d005	0x4bb2f3b2	0x0dbd8193	0xd8d8f582
-	0xa5867eed	0x2d6b8ec9	0x5f85ec18	0x7983775a
-	0x214ca0c1	0x9af3febb	0x213d6568	0x2f8e8c43
-	0x92add018	0x6e33e00f	0x6fa6834f	0xc3c2cbbc
-	0x1c65c8c5	0x1827f812	0x868d3a09	0xdac83ade
-	0x57623da5	0x5ff83257	0x0992e621	0x25cc9ca9
-	0x10580130	0xff2ae8fe	0x40a58253	0xffdc24d5
-	0x3e4dbe68	0x291b11f7	0xb3594b9a	0x570c7b6d
-	0x38d31bd4	0x7155ba24	0x84d56490	0xd98842d5
-	0xe037d2f6	0xdd2ba821	0xbeb861d5	0x0fda5758
-	0x5921c665	0x98c7676d	0x8eee487b	0xac0f2411
-	0xb332d321	0xa0816c65	0x76edde5c	0xab868b36
-	0x3f8da4fd	0x516af4e7	0xabf748a8	0xbe7820fc
-	0xbf763827	0xa03a3566	0x8a63e804	0xb4f8f901
-	0x5d262ee9	0xaf905cf5	0x896d0c94	0x5f992cab
-	0x81c2faf9	0xda3c686a	0xb01a06dc	0x45ef0c90
-	0xf2ca525f	0x0e74fe18	0x36ecdb11	0x494125d2
-	0x226b4aab	0x3e92ae29	0x5bb48774	0xc2c2ef90
-	0xa9e77d5a	0x409db546	0x7728f003	0x72229503
-	0x2e8febab	0x8322cfbc	0x5eaf74e9	0x621837f8
-	0xc70668d1	0xb25c1325	0xd741c010	0xf52e3166
-	0x71ef7a87	0x74cc93a4	0x7c25ecf4	0xb8b8e20f
-	0x3658c239	0xbc58fba7	0xf13ec858	0x9271b2a1
-	0x37084dd5	0x6fc92e82	0x44a6abe6	0x92b9238a
-	0x9ad3a57e	0xd75daf92	0x8ea573d6	0x69ce1fb6
-	0xe80df5f2	0xcc1c6ae7	0x6d565a77	0x6981ae63
-	0x18af1922	0x6e8a7af8	0x10716aa0	0xa7da9970
-	0x1abbc7cd	0x114f814a	0x4ebb0c07	0xc8fe6a69
-	0x93d7bc2e	0x0a16181c	0x0379c950	0x4b2e8c18
-	0x670b83f8	0x82a75eda	0x6eb772dd	0x42cfe197
-	0xd91ec29c	0x29fb4812	0xab693ead	0xb2f25a1c
-	0x0b9df6cf	0xb7a1aba2	0x1d7d90bf	0x7de14655
-	0x649965f6	0x11fbe065	0xa54ac5a3	0x418bd3df
-	0x4223c00f	0x7bfcf9ae	0xbd979739	0x6a2ee697
-	0x54e7d9c8	0x73803bdb	0x06654716	0x72225136
-	0xfaef3873	0x0b4b40dd	0xd3b98b57	0xc56cbab5
-	0x32174c47	0x4d4d8c32	0xd6f1bf93	0xeefb6950
-	0xb84ed0da	0x590723d4	0x2d006f09	0xc4bc139c
-	0x55434982	0x8734189f	0x0e314a50	0x94340d09
-	0x021c24a4	0x0b0f022d	0xa61f9025	0x71eb72b6
-	0x744ccea1	0x2030b859	0x78203d74	0x0b8a8389
-	0xd5211777	0x2609edfc	0x6134eede	0xec74584f
-	0x0bdb2d06	0xb1768f76	0x56221895	0xfc49bdae
-	0xbcc6e6ed	0xfeb19c0c	0x18652996	0xaa1a0164
-	0x3ffdcb94	0x2dc1b090	0xb68bf220	0xc33b967d
-	0xc907a1aa	0xa3968cb1	0xb3cc65e5	0x33e2b077
-	0x2bb22904	0xe0fe8fc2	0x4affcc46	0x6b0f0bbc
-	0x5d1bef41	0x2de11c7f	0xb0d864ee	0x6e96d8dd
-	0x59c1c108	0xb2544572	0xab3400af	0x604aefcd
-	0x81be22c3	0x6741e6ca	0x3a93dc1c	0x7b10e639
-	0x0add7a92	0x39fc1df3	0x884f150b	0xd666a96d
-	0x87da0c1a	0xf0f73c15	0xc0c00957	0x011ba61d
-	0xa77e9463	0x96020e4e	0x92416e99	0x881e89c4
-	0x46981327	0x3bc624f4	0x57f226f5	0xac340cd8
-	0x3ce239b2	0xec6b33bc	0xa9123e11	0x70640b6b
-	0xc30f59f0	0x411576fe	0x5ab12c3b	0x3cc20b85
-	0x924b3be2	0xd1fc7a28	0xa4b0cf7a	0x88098404
-	0xbbd331e3	0xff2b6047	0x2a1ab042	0xdf220849
-	0xaf774ae3	0x5a8da79d	0xf18450c8	0x8e6e235f
-	0x1dd3c039	0x1a867ae2	0xe4ccd1f4	0x50dd3f39
-	0x8be186ba	0xc7e30fe2	0x17552d4d	0xffac16e4
-	0x4094bbc4	0xc18a2513	0x650e707f	0x8ecdbba2
-	0xf53e8e7d	0x047dbce2	0x7fc2a89f	0x07628f94
-	0x2a8bfc67	0x0d738727	0x7b5c2fd4	0x2c89d27f
-	0x47f37a64	0xc63debc9	0x15d6c414	0x242c300a
-	0x645d95ab	0x29e1a49d	0xaf77fab1	0x643b4cd5
-	0x3e0f63db	0x4f7cc43a	0x33d6797b	0x497d4332
-	0x7160786f	0xe0c5b75d	0xfb08ecb2	0x26063065
-	0x9835bf7c	0xf5465591	0x63155d2d	0x14babba1
-	0x384a0879	0x460db3b1	0xcd37760b	0xad675a77
-	0xf1dceded	0x69df690a	0x44c6f456	0x87d6a7a4
-	0x4e0d6504	0xf967f55f	0xca9bb20d	0xd5eb41f6
-	0xa9aa9b2a	0xa907387b	0x965b6f23	0xdcd47eb5
-	0x43b5b1a0	0xec876728	0xee7339e8	0x10c5ee16
-	0x1bd8c0bb	0x7235ae07	0x063e3564	0x388d0bb5
-	0x80f9a9f6	0xaf96f714	0x6895c899	0x00ad21bd
-	0xee67961b	0x873781a9	0x22cf435a	0xee90cf3e
-	0xc9a4fadd	0x9bc1af4c	0x35c0e803	0x211ce71a
-	0xb9af86bb	0x97828ab5	0x9dbd002a	0x1cc981c7
-	0xefb36876	0xea739a75	0x5d5abcc1	0xd42260f2
-	0x95083e0a	0x31fb0b51	0xf243ab8f	0x628b1913
-	0xe74eb210	0x620b7d9f	0xc81666d2	0xc8fd1ce1
-	0xf054bd9e	0x78ba7618	0xe1df4e38	0x5e381b3a
-	0xcc68da1b	0xb3ce70ac	0x7ecda229	0xf8778140
-	0xae823fa1	0x12af1708	0xc9373879	0x1e687d29
-	0x96062069	0xf1bfde2b	0x999ff6c0	0x8cbeddf0
-	0xc825a2bb	0x78106bbb	0x87a964fc	0xb358ec2f
-	0x4d959300	0x0fe9706a	0xabb1d003	0x72b65294
-	0x43816b1f	0x6c83b958	0x5549567c	0xb474aa55
-	0x98851640	0x751a670f	0x25900026	0x2ab174e3
-	0x1952c3dd	0x38b47c29	0x32c0af52	0x460c8fad
-	0x85a1004e	0x8cbddcd7	0x66578310	0x4904dcfb
-	0x04b7a746	0x00c91fb7	0xb1ab2edb	0xd0178ae2
-	0xc4b8b57e	0x981d4753	0xfdd8939a	0xa8a05055
-	0x47c8c30e	0x0fab4f6b	0x6ea54079	0x23dc4151
-	0xc23e83aa	0x2ed2ce8a	0xff95b763	0x08df1d51
-	0xd16d104e	0x0fa3ee3b	0xdcfe8541	0xa0622490
-	0x085e5c0f	0xd9bc007b	0x24794e89	0xce341d16
-	0xf090a98c	0x317150a2	0xcc036257	0x3296722d
-	0x9c8d4f58	0x7ca5f53b	0xb0e4f9d4	0x1f178bbe
-	0xc0dcde7c	0x18551596	0x0507b8e2	0x3c40a8ca
-	0xc632f82b	0x5d1965f9	0x92a00465	0x13a8ca32
-	0xc0b6756f	0x669d706c	0x58056b22	0xaa25fd37
-	0x128b731c	0xb141ed31	0x0a8d3ddf	0x48b63bd1
-	0xd24c5c4e	0x0ccd96b8	0x4b1ff726	0x309be62b
-	0x26002e68	0x436f2bd0	0xacb62068	0xce098f50
-	0x330e6160	0x434da66d	0xce14054a	0x0a877e41
-	0x705eb2fb	0x8433fc7e	0xc1bd475b	0xb550de6d
-	0xf4faf808	0x9f9b6ebe	0x0ff98ef7	0xace2766f
-	0x01cc9606	0xd9654327	0x3544cf5b	0xbffbcd80
-	0xb4a5948f	0xcded4d04	0x69ef5a24	0xf5ae46de
-	0xe2139499	0x549f82bf	0x2cdfc6b7	0x5fdd2462
-	0x63c68a37	0x8bce0d04	0x9c66ae30	0x9fd94951
-	0x5774366d	0xd671675a	0x5582f253	0x436c5b6b
-	0xfc151e77	0x1974df45	0x5ea9eac2	0x30689b8a
-	0x9806681a	0xb74d3ec8	0x4f207181	0x668b4951
-	0xb06514b2	0xeccffed1	0x16188ff2	0x5914d385
-	0xed4b7023	0xfb0640e8	0x179adcda	0x6e806687
-	0xb4f0ac07	0x35813615	0x143e66b4	0x1b012a50
-	0x384f31c5	0x1500dbca	0x06e47afe	0xa8a17374
-	0x9d0f5c57	0x4574db82	0x91b3680e	0x794683a7
-	0x30c25d5d	0xf8748c08	0x2e601dfc	0x553152f7
-	0xec5d489a	0x4bd37616	0xdc04dc7b	0xf0a35ba2
-	0xb36975db	0xbfe6f98a	0x6d744996	0x5507380b
-	0x4191e01a	0x0092c384	0xcf3a4388	0x6b0e89c7
-	0xded7b820	0x1fbd6bba	0x3af210b1	0xfc4a608e
-	0xa920eb22	0x22db2d65	0x7d6f0447	0x090f3679
-	0xc4c759cd	0x9758aac6	0xa63251a9	0x47b7a974
-	0x65421071	0xdca8495e	0x96f879d7	0x1d22ea6f
-	0x46dd72ba	0xe0c59ccc	0x15737309	0x6d945f11
-	0xbcb15c8a	0xb11ef0b9	0xe2072633	0xccbd61dc
-	0xfcb51c44	0xd2315c65	0x3087a6f8	0x5609ee34
-	0x94c7f951	0x0a057b31	0x6e6f2733	0x179facec
-	0x36c005b9	0x60184919	0x50b3db1f	0x7a827d7f
-	0x88755ecc	0x3fb0d6c3	0x63b150d4	0xe2ec3004
-	0xe0ee30f1	0x118d7040	0x2f4689e7	0xa78be0be
-	0x3c9bb853	0x75c326cc	0x84097407	0xb0107b5e
-	0x83a56a91	0x14e60445	0x0fa72553	0x1385e6ce
-	0x9b8bbdcd	0xe6aa6a9b	0xc2072ccc	0xee916592
-	0xe44082e1	0x43dbf6d8	0x09f821fc	0xdc84b023
-	0x0e6a518b	0x945fb180	0x185d0841	0x9ece88f8
-	0x844558c2	0xed85f422	0xeceb983c	0x6db16826
-	0x7612b243	0xee3bf226	0xb8eebb7b	0x22e16615
-	0xc892bb7a	0xdc475a47	0xae390e93	0xe00baa1b
-	0x725fca23	0xbb868b3a	0x17c62a69	0xeccd3731
-	0xbe1a4223	0x05c8fd7e	0xa8354afa	0xbbb09f8c
-	0x31a77e83	0x01f17a68	0x5f37c847	0xa0fdd7db
-	0x9f8da870	0x98f02167	0x1e966884	0x00e19b81
-	0x50c91add	0x6aba2a55	0x60be9575	0x3da40b37
-	0xde13ff4d	0x5b7a79ec	0x4700ffd9	0xfee5ea61
-	0xaf4d1d1e	0xfccb6f04	0xcf5076d2	0x48c4c98a
-	0xd6a8915e	0xe4a58522	0x6bf3a6a9	0x4e7c2f15
-	0xcd7e8d2f	0x843b56b1	0xa35f1a5d	0x1ca226dc
-	0x917fb163	0x44751f0a	0xd96fa8aa	0x5028dccc
-	0x7792dd96	0x2a9d749d	0xe48385fb	0xde111e91
-	0x805e6581	0x3d9b9fad	0x5b750544	0x03785b71
-	0x9b583214	0x80022658	0xcf1f3730	0xa1be7be7
-	0x6c1e26f2	0x26de584b	0xb4fc8e35	0x072b520b
-	0x55db3ac9	0x81e9d490	0x4b5ea53e	0xd5628e00
-	0x71bfcac3	0x79956bbf	0x275fab80	0x2ad497ed
-	0x423854b2	0x686451ad	0xfd59d64e	0x9f2049d7
-	0xcb0f8f32	0x74d7545d	0x4f9c1df8	0x6fbf0afa
-	0x7ef06915	0xc5117549	0xf20088b4	0x731a5ccf
-	0xe78bbe74	0xdcb4996e	0x7062a6f1	0xa624b59a
-	0x7b2d5e41	0xc1065234	0xa7c32078	0x367e7134
-	0x86f55f58	0x3084ee83	0x0c599d1f	0x69380e2e
-	0xe59482b3	0x7096432e	0x81124388	0x5be8d01e
-	0xeb25ec24	0x8b47e9ad	0x432216fd	0xdc496dea
-	0xcb05fefe	0xe76eb9ab	0x8ed568d2	0xfa963d68
-	0x70ed6f4e	0xb2b88d58	0x15fc42bb	0xe992ec48
-	0x359856b3	0x4a0f7741	0x3f0b6eca	0x07c16950
-	0xcb9dae59	0x209570c2	0xf196555d	0xbf7c0a0f
-	0x4a814210	0xf8f206c7	0x8bbb0763	0x360fa596
-	0x13d46195	0x901170e8	0x6dc2e376	0xbfa00989
-	0xd12cab90	0xf4f4699d	0xbc88b362	0x4827dbd5
-	0x7cde5cf5	0xe45dff5e	0x2d661b05	0x8902d99e
-	0x6c9f3584	0x0db3f864	0x1132773f	0x3e944120
-	0x27058ae1	0xef978864	0xe58eff42	0x020ae503
-	0x77fe075b	0x9c577e08	0x210b42b9	0xcb8160c0
-	0x09f99f36	0x6a0b6bee	0x6f18b0ef	0x5452ee3f
-	0x6c8c4a4d	0x480cb803	0x892f3973	0x066dbb63
-	0xf7f845c8	0x7ceeee7e	0x7c26c5ce	0xec89119a
-	0xc64bdc20	0xf46e4324	0xff34c833	0x555b4b3c
-	0x23ff2701	0x52360759	0xf60acad8	0x241ccb7b
-	0x29e14901	0xcc068e2b	0xedd0ee02	0xc33a425d
-	0x7d889b28	0x88577f8d	0xaaf614b1	0x8e8c8eb5
-	0x81a363f8	0x29f5bcc6	0x08aeb8e9	0x6f9ee222
-	0x1c50045b	0x792c9434	0x62bc2601	0xc9289175
-	0x374fc38c	0xbae91a86	0x3268e89b	0x5b008f10
-	0x0ea6b759	0x9d43ce10	0x09b30dd2	0x643e2b94
-	0x5c19bafb	0x29515176	0x56a81f95	0x60a80534
-	0x22fa0a73	0x1259cf8d	0x323fa5b3	0x6322f1d0
-	0x30581c47	0x50458048	0xd711c1b6	0x4a34236e
-	0xb60a2e40	0x58df96c9	0x947b90d7	0xd327d664
-	0x5fe528db	0xf6d9c575	0xb0a251b9	0xed961301
-	0x2fee3cf9	0xb687e226	0x78fc46c2	0x29e9fef4
-	0x84bff086	0xd0482ed1	0x018996f1	0xb8b9cdf8
-	0x20885e68	0xa6f848e2	0xfddabc3e	0x5c9a7f67
-	0x7cbc3e40	0x5197ebe2	0x41a15775	0x8024fd2a
-	0x7864106f	0x7cfaf482	0x27798720	0x4956355f
-	0x30f7195e	0x6ea09dd6	0x6f2b5f3c	0xf38df38e
-	0xcae7e8cb	0xf8a80b0b	0xbeb227ba	0xbbfa2428
-	0xbbba3ab6	0xbf83edbc	0x2cdcaa9b	0x2b0841a7
-	0x79d52e5e	0x40260460	0xb27709be	0x07e3bf6a
-	0xbdccc2b9	0x369d0069	0x9d745e50	0xff251486
-	0x1e14957f	0xf7253467	0x9a31eeb9	0x4d77108a
-	0x44fefc47	0xd02d4082	0x232e3fc1	0xce39396b
-	0xd7a13714	0x2bd57e7e	0x00876803	0xee73377e
-	0x78bb6240	0x2ae63c46	0x11e009d2	0x922539cd
-	0xf3bef05a	0xf0c664c3	0x6e132a0b	0xb0c5bddd
-	0x40c66494	0xd7d0d02a	0xa73110d0	0x4b409d78
-	0x6f49bf88	0xcfc9d22e	0x4836da89	0xde5a80be
-	0xb9c8bdb3	0xe99b2e9d	0xf1b05e68	0x8ab599fc
-	0x22675035	0x3c8480c0	0xfa3cd457	0xba617098
-	0x422eca1c	0x0cdc0d01	0x4779b95e	0xccfa0bfa
-	0xd22674a4	0x76462be6	0x3015ab3b	0x7891688e
-	0x1c83bf8b	0xaa55839a	0x7a71a83f	0xad451c1b
-	0xf8b8bf06	0xc75a91be	0xcac50366	0x87e365ae
-	0x9013ac11	0xe9cec5a5	0xef4d88f5	0x15c27162
-	0x3dcaf8ae	0xe023891b	0x7b6f1706	0x2f1198e4
-	0x048e34ba	0xb647b5e8	0xa1826caa	0xed3bc134
-	0x43b14d28	0xf0c49b54	0x1a6362d4	0xc77fa378
-	0x3bb12e79	0xcba4cd2b	0x620f2476	0x7729add6
-	0x9876c439	0x5f7d8795	0x858f7ac8	0x68b94589
-	0x1321d70b	0x5353a2fc	0x912a5ea4	0x390cf0f5
-	0x37320473	0x51b3cacf	0xe45046d2	0x9188dcc5
-	0xb3713b54	0xc9b936e3	0xe9f24574	0x5977a68c
-	0xc23c56bd	0xcfc39ca9	0xc891b8d0	0x3683ef22
-	0xc1ce304a	0x3ebf1ce1	0x52cd1cc0	0x3777d973
-	0xde614072	0xf2efe226	0xbe1f9f9b	0x92a1896b
-	0x9ca62763	0xcf5703be	0xa6d9c56a	0x185260d6
-	0xd9e3b86f	0x5c47180b	0x71a7a219	0xe9974375
-	0xf22af4d3	0xfbc92962	0x968c3fe4	0xc584b60e
-	0xb9abee26	0x7e9737d8	0x5947da83	0x2f8ccad0
-	0x7b4ee942	0x51ad62dc	0xf517400c	0xe2bf9e37
-	0x63057e05	0xe1bfabf8	0xbf118805	0xc038de9c
-	0x7aa57b7b	0x05584eff	0xb15ea286	0x26c6a6c0
-	0x8e1392e8	0x7dbf22e1	0x3546f5bd	0x0f84ed9b
-	0x0b01da4d	0x6dc47417	0xadc6f687	0x4160c045
-	0xdc26765f	0x63b70c6e	0x8f177107	0x6a5f13cd
-	0xb56fce56	0x5d1f5ed1	0x62f6a18e	0xf7235691
-	0x222fa999	0xd48b1435	0xe597d406	0x8dacf828
-	0x694ecd8c	0xe5283c02	0x60bcdcd3	0xfb9eb384
-	0x9895492c	0xd38172dd	0xe7b6dff6	0x0ead5894
-	0x910e2675	0x97d9ee09	0x270b2d8a	0xd03e25e0
-	0x9e7bbb69	0x57ab1d31	0xf2e7a13d	0x9c8e5baf
-	0x65fa03f4	0xc66bcbfc	0xf2d8bfe1	0x23059412
-	0xa3ae7654	0x3a4734a3	0x32c0a8d3	0x4e007b8a
-	0x5ce30660	0xbd10c57c	0x5365f540	0xeaed3002
-	0xc377d84d	0x87097a59	0x929edec9	0x5878368b
-	0xbd450478	0xc3fab275	0x128fdced	0xb706fbb5
-	0x146f1d41	0x86782651	0xa530ca29	0xa3e1b6be
-	0x25390048	0x572b4a05	0x8c9b4c90	0xb05428cd
-	0x33fabab5	0xd16e513e	0x1d6cc812	0x4d80a6ed
-	0xd6a5a07e	0xc0ee4c19	0x544b75d1	0x3f887360
-	0xb2f46d1d	0x21609cbd	0xe340211d	0xe9202fb6
-	0x3023b005	0x3341ead9	0x76c99537	0xc9d76547
-	0xfb736c3f	0xf6385346	0x93fe2a05	0x92de6df5
-	0x7793acd1	0x68249b3e	0xc22cae3b	0x668988e0
-	0xdc1ea28c	0x7ef72b95	0x974098f9	0xb214701c
-	0xc2de7d98	0xeb1d443e	0x5975f0ec	0x21d67037
-	0x721e8e99	0x42105562	0x74b1e821	0x20193b2c
-	0x743a7bb3	0x24643c9c	0x240b331c	0xdf125e2e
-	0xcb4b0205	0x19edb174	0x505eb85c	0x1830bf22
-	0x6bf7a528	0x86a7281d	0xfee3488d	0x6c26f4ab
-	0xbff4ce7a	0xff7cfaf1	0x5df6fd66	0x523f0802
-	0xf8a87595	0x463b5c19	0x72c564fd	0x2e4797d6
-	0x1f04a1af	0x0be96baf	0x44552094	0x2a158f50
-	0x83dac587	0xad4c881d	0x3178e710	0xe938d1be
-	0xab715a65	0xc34b451e	0x1942832e	0x91557ecb
-	0xdaf0606d	0xa64623d9	0x84e11fbb	0xa9c9d11b
-	0x577a15b1	0xd49a2f23	0x6f204e0b	0x0a6e6a2f
-	0xdaf13637	0x6b4ef557	0xdcaac9a3	0xad97c404
-	0x8471691a	0x50ca3cf5	0xde57c446	0x70aa02f1
-	0x84baa6de	0x0232bc79	0xa06427af	0xd2ce56be
-	0x5da13949	0x254f5f4c	0x3fc3fd02	0x00b5f8eb
-	0x54a0d4b8	0x5e3ec3b1	0xc6718376	0x5acce6d8
-	0x614c56e0	0x89a6b00e	0x6cb4e087	0xa9822fe9
-	0xdea290c6	0xb294582f	0x36f9640e	0x30d0afc4
-	0xef7d75b9	0xfd9aae2d	0xd6729573	0xac442321
-	0x158224fc	0xfd6632df	0x10cebf98	0xc3864dd8
-	0x31577c58	0x49e71f9c	0xb96d876c	0xd867604e
-	0xba74c3f0	0xad69752f	0x716eb51a	0x469d9d03
-	0xda4b2e16	0x9e80a908	0x9bcb18e8	0x2f1c595a
-	0xe823ecfa	0xdfd5badc	0xe460e9e0	0xae418438
-	0x457811b4	0x29df713a	0xd90b0d29	0x415ba2de
-	0xa0af6489	0x4922a50e	0x2efa0b0b	0x9394e4cc
-	0x0ef8f59b	0x0f851711	0xa4670f3b	0xcc6bbfc6
-	0xae194dfe	0x78e51752	0x4c65a2d2	0x1b0741cd
-	0xc9f401c0	0x4a678062	0x290d2bc5	0x1a4279c4
-	0xb5f9160f	0x40ef7c77	0xa9bcfba9	0xaec75f21
-	0x53d6258e	0x8587eb74	0x0721d492	0x2c6a6e2d
-	0x8e6cb70e	0xa6bee309	0x6faf5706	0xf8eee239
-	0x52c85943	0x8c198893	0x3db37858	0x557fbf2e
-	0x92f1a0e5	0xbd279594	0x46d65132	0x90a2c32a
-	0xd11db660	0xc73b3922	0x9d1075ff	0xdb80a1cb
-	0x54158743	0x39694d0a	0x4a0ddc7c	0x721f9dc9
-	0x04b1b044	0x3bb40aed	0x6be7a88a	0x429a3b09
-	0xa6e9dfa8	0xba412f0c	0x354f08d2	0xa4569516
-	0x928cca34	0x398b1a99	0xb7e80291	0xe67d7b71
-	0xa6582bf0	0x556ebb23	0xdc6d9f6a	0x11b3b753
-	0xbdf31ae5	0xd3399560	0x6148cec8	0x5188689e
-	0xde18f46b	0x3da414ad	0x4c44ad29	0x68582541
-	0x75c8b1e6	0x7ba572de	0xd753ed20	0x4a9c4578
-	0xf1c9159d	0xcfd9da31	0x46799fbe	0x1aee4426
-	0xdcdf7b57	0x327db61b	0xa160ea1c	0x84a01fc2
-	0xbe0aa020	0x5963688b	0x24f32751	0x885b4177
-	0x26cde88c	0x39e6df90	0x1c7fee90	0x882a5c0c
-	0x56f1f2e0	0x10bb9f52	0x4f0502aa	0xeae6e5b9
-	0x65e7ee25	0x8ed230ac	0x38b5e02c	0x5f5311f7
-	0x929491c0	0xdd923e62	0x5bc6166e	0xa3c89f4e
-	0x5844fb12	0x0c40f02f	0xdda07582	0x8ca1b803
-	0x9398b0d0	0x4dba17f9	0xb9879c85	0x26956147
-	0x3c26a130	0x58cdc52b	0x21fa4801	0x9d965ce6
-	0xb9942dac	0xd83d1518	0x36e630dc	0x50bb2822
-	0xcd472a65	0x6feee2f4	0x4853b680	0x7f54945f
-	0xa522c561	0x28134f6a	0x89b46cb2	0x4fe0047e
-	0xad602b28	0x4942494f	0x1536ea37	0x40ea6278
-	0x5020bdb1	0xad3c9f7e	0x1356d0ce	0x411700c8
-	0x1ba61954	0x65dece8c	0xb788efb9	0x26efcd5e
-	0x9833fa21	0xea0052b8	0x119a994f	0xa71b168b
-	0x164a96e0	0x0bd1b4e9	0xaae1e562	0xb550f48c
-	0x3a3b55e1	0x4d921246	0xcb28af65	0xdd2388ff
-	0xa63988c3	0x7dfa5a8b	0xc7c44102	0xc75e9f3a
-	0x5e4305db	0xacb34d1c	0x9b50976b	0xad3f6379
-	0x6cd20ee3	0xba806f21	0xcd0fcf4a	0x18a55973
-	0xbafe5266	0x03ee9b8c	0xa35fbfde	0x7f2eb71b
-	0x23d9aa11	0x0e183c35	0xefb0ae3e	0xc6093786
-	0x5b380af5	0x64838229	0x3bd69926	0xe9758e1d
-	0xde439e4a	0x0cbc4bdd	0xda5858e8	0xbe8afc07
-	0x676379e1	0xccc4c628	0x763e3b38	0xb4823c67
-	0x9f4aa538	0xd8d33f50	0x41291e48	0xaed28ade
-	0x6c72eea8	0xa751f4e8	0x3a75dba2	0x5073e3bd
-	0xf10b4756	0xdf46ab98	0x9ad689f1	0xc2ba74a4
-	0xf2ce9419	0x4cf9732e	0x75cf58ca	0x249e3c52
-	0x95d10a93	0x51120008	0x7438d467	0x0a5e7f2d
-	0xb7a44e46	0xe31e5dee	0x26e2ed14	0x8f16a7d2
-	0xfcda431c	0xab32ada3	0x3a863c94	0x5fe91346
-	0x2a92c590	0xb8c17e6b	0xcaf753fe	0x50283647
-	0x533c8f3c	0x1233e1c1	0x7a5b2eb0	0x79b4ba22
-	0x3164670c	0x201c500d	0xafeac6bf	0x2fbb0884
-	0x915de3b0	0xbf733b7f	0xc45d1a42	0xa3b86d4a
-	0x333ef605	0x6348522a	0xd28d1d19	0xa2cad790
-	0xf8ad449c	0x05aacdcf	0x64500018	0xb1d8cb18
-	0x9e4a2ecc	0x091282c7	0xfd64bcf8	0xe1e7c24d
-	0xfcd0f386	0x0c9faa0e	0xa82f265c	0x83cafc3e
-	0xcad43563	0xc110837c	0x2a2da74f	0xbd98e00b
-	0x5c24553d	0x41c75caa	0xe75cb110	0xa004b946
-	0xd4daa77c	0x88d07273	0x0c75c7eb	0xaf05657a
-	0xbe1f8336	0x122a7acc	0xe0e5c29d	0xd5896217
-	0xfb2f909a	0xa74b6458	0xb33a1a38	0x815f7832
-	0x9584b271	0x9a3bb26e	0x39aa6d36	0x2fba41db
-	0x133797be	0x9993699e	0xdb50268d	0xccd54ff0
-	0xb7a33011	0x71db612b	0xef9a4429	0x7217f1d0
-	0x0ee420ba	0x1f7eb025	0x26572853	0x72712e17
-	0x5bd7be37	0x74b2288e	0x3ffd1f1f	0xed566562
-	0x744f4159	0xdbedb36b	0x69e25131	0x604ccb70
-	0x50d83542	0xe4704ddb	0xdc5144aa	0x33467434
-	0x1c7c4f2b	0xac774e8e	0xce9c4d1b	0xa0e3c7f7
-	0xffbecc1c	0xa1c25fb2	0x0e9f6039	0xbe9ed6d0
-	0xf958fb6a	0xaec3fba8	0x2944e767	0x77dc717e
-	0x06e9fe1d	0xaf3a4928	0x7d4f3f29	0xead3972b
-	0x65670bc4	0xd058cc70	0x9fb58c45	0xf5f08926
-	0x9aed1955	0xb1a5d161	0x14b5aa11	0x66e14cee
-	0x28d7aae3	0xae45fcec	0x92dc7dc3	0xe9eda97f
-	0xbee84f22	0xea6f71ac	0x6347c2b8	0xe919afff
-	0x2c409d7c	0xa9800c52	0xd8033a17	0xc3794565
-	0xb5311fe8	0x80d8a030	0xf9cf179a	0x508ea242
-	0x4464cd33	0x91da91a8	0x6c0806cd	0xb5473d09
-	0x0a0b99b3	0xdaf528eb	0xca1e99e7	0x064055ef
-	0xc2dce623	0x0b4c15ac	0x23c13327	0x3f9fc266
-	0x335d9c40	0xaca940c2	0xc18c0797	0xd5027a07
-	0xb0a4d322	0x2e601275	0x6cc88888	0x658eaf8d
-	0x509e2247	0xbae254d6	0xf097f138	0xa163751e
-	0x19558f7c	0xb66f0cd4	0x87b1d966	0x81dd2cad
-	0xf0c25e6d	0xb8e72dd1	0x00f15f42	0x6d2c1c68
-	0x43c7e436	0x68eedad4	0xc2686b38	0x6ff30211
-	0x197c7734	0x905b8602	0x6ab9d204	0x0d16385c
-	0xb1cb5e16	0x8249a5c4	0x29d1ce0e	0x779f7b63
-	0x63042725	0x12ce98e3	0x11282058	0xca3a9eb2
-	0xdb8294e7	0x423e41ac	0xc3ab2774	0xca658d6d
-	0x519f8896	0xaf6010f0	0xd57a94aa	0xcc17df91
-	0x7d25cf8b	0x041e6835	0xa056d9e0	0xf90f3964
-	0x7f99ae59	0xd80125d7	0x9961d6e5	0x41b3da06
-	0x65c254e4	0x787d2c61	0x16aafb02	0x157ab4a8
-	0xdee3674a	0x1ed1b601	0x2e36dae9	0xad57ad38
-	0xaaf25b15	0xd3c37a01	0x68ca9eba	0x2a1bc480
-	0xba157917	0xc00017c0	0x190bd74a	0xd6c6c1cd
-	0x4efd4f71	0x388ed702	0xc8812950	0xd0019ca4
-	0xd44cc835	0xd838fd6a	0x1432ce88	0xce98d932
-	0xaea21cf4	0x54a44cdf	0xdb4dc5ad	0x1d23a7ae
-	0x5ae126ad	0x100dcb50	0xa9727413	0xcf1c61cc
-	0x72f9d2f8	0x4d32d201	0xe27586a8	0x0a1cc932
-	0x21858469	0xf1cda3f2	0x59703f35	0xbd81f9f4
-	0xad6ac9cc	0x25665703	0x1212d5cc	0x98a243d3
-	0x8f47e113	0xd98feef4	0x3c93e832	0xfd67097a
-	0x0c73fea5	0x6132ec59	0x1dc9bdb7	0x791f79eb
-	0x84d83574	0xbd5817e6	0x7d5a0f8d	0x18482a08
-	0x53ac8e4f	0xadd3378f	0xd48540ac	0x4082f5d2
-	0x3ff5badc	0x24855b3d	0x7bb948f8	0x72637822
-	0x0687e93b	0x61290b4b	0xd9f20b3f	0xcc0e5beb
-	0x141ca01f	0xecd1337b	0x8576ec65	0xb6f825a2
-	0x8b84e8b6	0x5bac53f1	0xd4edd06a	0x76ae712b
-	0xdc00a887	0x798c2ee1	0xe74a5ab5	0x1539fa68
-	0xa30817da	0x06f7c53a	0x1930c59d	0xd4232359
-	0x0dfb1427	0x58d7180b	0x53bf57f9	0x5f001d08
-	0xd08128ed	0x3208b7be	0x5c2aba8c	0x0abbd0d0
-	0x424f2041	0x7982f731	0x010ec811	0xa3489c82
-	0x71ffdfa7	0xda0ed41f	0x8a9e806b	0xfa9bddcb
-	0x7a9e1a41	0x53c7603f	0x9e3df28d	0xd06dd100
-	0x2cc64f4a	0x0dfdccf2	0xb4eb9101	0xf56d506d
-	0xdaeed218	0x45523a16	0x4d6d68ba	0xff9a8f72
-	0x5358b2f1	0x2511a591	0x9ea2c2fb	0x08cafc7d
-	0x7ed34bb1	0x0cf2301e	0x62b6c05d	0xc05095ec
-	0x52128c55	0x030576af	0xef5f37a5	0xdf5ae47a
-	0x39e55496	0xb2c2129e	0xb2d67d77	0xc5adf049
-	0x15a1cb4f	0x981948e5	0x7d18acc0	0xec7abb43
-	0x23f7e366	0xa919a355	0x23872683	0xb7b6d84b
-	0x4767dab1	0xd133feb1	0x2e5536cd	0x587683d4
-	0xa181575c	0x4329e640	0x1244ae40	0x5be82f66
-	0x4b28dc4b	0x4106c9a9	0x517fad7e	0x9e334ca8
-	0x3c3ba741	0xe902a475	0x91d046a8	0x31361f96
-	0x911b83bc	0x6607fac7	0xdfbc6390	0x7213aab0
-	0x8ca8a47a	0x4f3d1f3a	0x3ee76c84	0x22bac3f0
-	0x475f3cab	0x05d05569	0x92b3f912	0xc632a733
-	0xd79b7448	0x595b82fa	0x6013b96e	0x6d03b5eb
-	0xe37045fb	0x6e4add26	0x11f116da	0x4ac8bd3b
-	0xacb5f8a9	0x8fb943d6	0xa9ac31c7	0xf1ba9752
-	0x43a6b29a	0xf123766f	0x536fcc32	0xcf8168ad
-	0xd8fb1e4d	0xb9562fa5	0xfe6d8dea	0xd31ab16c
-	0xf7dfc381	0xb70f11cb	0x371c6688	0xac3fccee
-	0xf130a51b	0xc5b8cad7	0x0cb13762	0x64ae00f2
-	0x45cfad12	0x753d6a4a	0xc6f69472	0x695fba60
-	0x49d1f754	0x9db947f2	0x2364ae20	0x197492e4
-	0xc5b9562e	0x34963cec	0xdc26402a	0xa1c88d01
-	0x58e27195	0x9d60f5c4	0x3e200a43	0x7e9827f2
-	0x0a4feee5	0xd401e139	0x17352152	0xd509564a
-	0x4b3142ed	0xef7567fd	0x9a619dbf	0x56ec2cb7
-	0xc64bb290	0x3d69fd89	0x897325a1	0x74e2cb7c
-	0xf270fdac	0x2beb6a4f	0x5b60de30	0x49df7517
-	0x294966cf	0x87f5f667	0x4a9e1f6a	0xabc332c3
-	0xfaf358aa	0x5baa6cfb	0x36b99bfa	0x40259687
-	0x584539e2	0x2710ce99	0xec1959aa	0x642c8413
-	0xfc005d36	0x2b2e6245	0x0012d041	0x09f6b626
-	0x70fe9e2b	0x3cf30c5c	0x69d0a3ed	0xfe621601
-	0xb6fa9267	0xe9b507dc	0x49f35866	0x4b97647a
-	0x9e721adb	0x89e6e8d6	0x407a2f49	0xd977cbaa
-	0xd9359f5d	0x7b69702d	0x22d6e818	0x57eaa5a3
-	0xdd5063b0	0x4d7d2312	0x7a865203	0xb7f0905f
-	0xdd2c2b87	0x7215803c	0x1abe5307	0x2926f38b
-	0xf6b0cacc	0x96f50647	0xb612feb7	0x6915bfcc
-	0x058b5cb0	0xc39e47d5	0x7513abdd	0x9e43972a
-	0x1e55f640	0x896db1c5	0xd9382d2c	0xa52c1f99
-	0x8afaf5cf	0x36500aa3	0x2e65fa1a	0xbb40d668
-	0x81188e3f	0x143fba69	0x3f61fc90	0x438d759c
-	0x893bb96a	0x069f349f	0xffdc43c7	0x6ebfa943
-	0x671b4751	0x629cec23	0xe717fb9c	0x53fadc0a
-	0xddc1e212	0xb99788ba	0x78378cf8	0x2ed91106
-	0xec1de376	0x98d86b3a	0x312a190f	0x0208a0da
-	0x6dcb469f	0xe6407c6b	0x1c7fea86	0x83841afa
-	0xa9caaffe	0x86e3fd0a	0x918af9b0	0x0fabdf39
-	0xdd9fc8f7	0xf9ddd98f	0x3dd0acce	0x2064360b
-	0x29006620	0x5d7733c2	0x682c4093	0xf038a8b4
-	0x3a688845	0xf9d0b9d2	0x27f51a57	0xb63b063c
-	0x533b082b	0x7f0d0dd1	0x7abdb018	0xea6f6176
-	0x13394ac6	0x825339bb	0x1835fd8d	0xaa46df84
-	0x0751fe4b	0xbc9fb7c7	0x233873ff	0xca200e1c
-	0x668fd5a5	0xda059135	0x2baf8828	0x7a2efc0e
-	0x7c63d98c	0xe71ea373	0x0f218e88	0xa031f88f
-	0xf32bccf3	0xf15eadad	0x6df44be6	0xb2536e4b
-	0x2903a9aa	0x42ef8689	0x444432f2	0xd27a6c4c
-	0x0992a32e	0xaf6e65d2	0xcbefdf23	0xe602151e
-	0x21beace6	0xd9b992b2	0xe43286cb	0xdb315c09
-	0x0de7672d	0x9d518ff0	0x75c4e9a0	0x64b2f70a
-	0x9deb697d	0x5bcf59b8	0x2e4b9a8a	0xd9294b49
-	0x3fee760e	0xfba8fec6	0x1c140305	0xe400487f
-	0xc4cd4a38	0x14e6f1c6	0xdf98e7f8	0xfa6c4992
-	0x62908c82	0x37393196	0xc02464b8	0x4b119742
-	0x83e5e79d	0x15ddd908	0xf75d1820	0x363025b9
-	0xd9e1a04b	0x9e110da7	0xd8caf954	0x30f62bc6
-	0x875fd2b7	0x8b67bc8e	0xd5c77d4c	0x1a8ce00a
-	0x7cfb14dd	0x3a39fd65	0xaecc2b5f	0xb017dbb5
-	0x6a57b4f3	0xa27b6509	0xcdb06076	0x000d6366
-	0x66e4f311	0xf22e25d7	0xf91d9bc5	0x5f9d3a05
-	0x3b37c96c	0xb0596f50	0x53c24ede	0xb620106a
-	0x5e675314	0xd98d5b02	0x75261f6e	0x5610c20f
-	0xedcbe43f	0xbe85b8c2	0x16f7ffb4	0x55eb91fc
-	0x2605ab1b	0x5ad3b426	0x3658d764	0x639c0560
-	0x987249ed	0xdc470fa2	0x0d112f6e	0xd8ab77f7
-	0xaed9455f	0xd9f6a341	0xb9b21249	0x3ff2b69f
-	0x37ad61d4	0xdd6a089f	0x609233f7	0x46a923f4
-	0xe5c23e8b	0x6aff8687	0x5e8ece1e	0xc65e1e4f
-	0xfb96cf51	0x9b697cce	0xb08e02e2	0xf874e0e9
-	0xbc983fa6	0x870375e3	0xc88bcd2b	0xc6bb19ae
-	0xaa0c99e3	0xb301ab7f	0x024ba529	0x4449828a
-	0xd226454a	0x0a610f3a	0xf302a0f4	0x021a3cc2
-	0xa9e4b6ea	0x0b690b92	0x3379c01c	0x36265ea4
-	0x29fbc8a3	0xe6279573	0x3cdb8a1e	0x005b5332
-	0xbab71a8e	0x9677db73	0xa8a6d6ea	0xf0afbd3d
-	0x576fbee6	0x49a54473	0xfa7c6e95	0xcb914daf
-	0x58266856	0xa6b53a63	0x7136515a	0x2a3da411
-	0xb1c994e0	0xbdaecd7b	0x5b436ff8	0x6334ec5f
-	0x0172b5d2	0x57acd652	0xca4efacd	0x87e7d313
-	0x78ac87c8	0xaf7602aa	0x3769ff6e	0x86d39747
-	0xd32a7aa7	0x840cb30c	0x3e7da9b1	0x3c905b44
-	0x90290dd7	0xebc85f3e	0x32693a53	0xc7140058
-	0x6ca5cf6c	0xdabfbc3b	0x3d559486	0xe5ce93b9
-	0x8d3c428a	0x9d18b8ee	0x404f58d3	0x151b4a78
-	0x2f393e9e	0x69c59344	0x7879e974	0xc32217f5
-	0xb946562f	0x1d1b8745	0x3666cd1a	0xc6a1e2ef
-	0xe22d2e5e	0x9e7ed504	0xe6c32118	0xb2919117
-	0xb2bad34c	0xe7177e87	0x47b68328	0xe579fe7b
-	0xd0d33f00	0x96923c90	0x5ff2bf45	0xff074961
-	0x4dce1092	0xe8a89464	0xc0b1ea51	0xd65f0f12
-	0x6b2389bb	0x48fa0960	0x82722b27	0x62625540
-	0xd4ff4985	0x768b7c26	0xb36a4ec6	0xf6a66375
-	0x1c89e246	0xb629fce9	0x6aa72399	0xd783733f
-	0x6478b123	0xa374412c	0x11b5cfc8	0x73cf2286
-	0x443f5601	0xd817fca7	0xb2ce2d63	0xf6c63479
-	0xd16b0550	0xf2a52ac4	0x7843803c	0x1ac3b58b
-	0x7f96b915	0x732403a1	0x64634349	0xd2ec0bf9
-	0x10410c08	0xe95d8dfa	0xaaeb33a5	0x57893eaa
-	0xb59afac2	0xe9fd6dd2	0x50d11a7f	0xde479c58
-	0x9dac27dc	0xebba7d8b	0x17fa1420	0x74a1678c
-	0x71ccdaa3	0x5e44b0bb	0x5927a75a	0x7b7580a8
-	0x33330c9a	0x40192652	0xba6308de	0xecc81fbe
-	0x41d48824	0x6ce4e0c7	0x145e9225	0xf8484bee
-	0xc8675611	0x750ec207	0xfa5f5b85	0x618b9f8a
-	0x007cdb05	0x67f98d4b	0x1035f305	0x8d700e9b
-	0x9857a0bf	0x4b774ad8	0x8960c81e	0x344a9462
-	0xee2680d0	0xebb5f6cf	0x7397c9f2	0xcafa01ec
-	0xaf69f3f4	0x0a1699cb	0x90ed82f8	0xc5c8ac04
-	0xe50bd06d	0xf75741c6	0xea52365c	0xd0c03f33
-	0xb5e4e95c	0xebf55379	0x0aae6e4a	0x29f8b91b
-	0xef8ad2b9	0x7bebf2ca	0xb194b728	0x7df7b083
-	0x0ea527c4	0x6d55939f	0xb9242c58	0xb3e1f570
-	0x4fba0507	0x82d7259b	0xb5be7b54	0x0aff6ff9
-	0x88391023	0xfe352956	0x4a6bfb30	0xa00c9644
-	0xc478d534	0x0cdb509d	0x9611713c	0xd7c442be
-	0x8d16889f	0x93abfefe	0x435fa757	0x40d95d3d
-	0x11b7bdce	0xd074874b	0xdce6add2	0x0b652a4e
-	0x595a88e6	0x307a223d	0xb624b9bd	0x855ba51f
-	0xad43c800	0x1fcf6afd	0x4bdd921a	0xd6777384
-	0x8da9f15f	0x5fb03ee2	0x5e6d04e2	0xb33751cf
-	0x55d9d38e	0x41589fad	0x6d311b4a	0x43046a7a
-	0x8d9c7304	0xe25f9788	0x8b459e1b	0xc9a3cfe2
-	0xe6ab721e	0x4de3c89c	0x5c2d2398	0x085d8d69
-	0x4e27ce73	0x1cc1f44e	0x05aeaebe	0x8cedb916
-	0x370b4d46	0x1bc29579	0x33d08b75	0x06b77cff
-	0x155693d7	0x125d3f0b	0xd8714e15	0x3b7427ba
-	0x13f6684d	0x834ee449	0xc5a45189	0xb2ad214c
-	0xa61be586	0x4e4727cd	0x563d1c31	0xd4ba1cc3
-	0xdb08cd16	0x4940a42c	0x43dfd0cc	0x9d43222c
-	0x638a0d11	0xc33d3992	0x98bf11f0	0x1aebf6b5
-	0x1e206582	0x5647f772	0x9255ad74	0x75915665
-	0x0fe7dd12	0x9def740a	0x9361bdf1	0xc1409fc0
-	0xd3bac631	0x7492ee87	0xe1e99dde	0x2fbaf552
-	0xfc24f52c	0xc080882a	0x0a2417c8	0xcea3da70
-	0x4fe34fad	0xb4e55427	0xd5d54d76	0xf36686ba
-	0xd6ab1798	0x1868e364	0xa380f948	0x0eaee02a
-	0xad5a44e8	0xb6d119f4	0x82a43444	0xafad0e68
-	0x595c3ab7	0x385746b3	0x32df6d2a	0x0b01b2de
-	0x51d3d6bc	0x107d8620	0x6d215143	0x29d0e901
-	0xbc57a3ec	0xd584ba34	0x8c244547	0x23d396fa
-	0xffb03cb4	0x8396c1a7	0x3f251905	0x8bc769b3
-	0x68f4696c	0xfc297895	0x9ec65e40	0x22deb20b
-	0x5d1def76	0xa7a095b1	0x3aa6a458	0x6ca11880
-	0xcde44ece	0x62b59f4c	0x067f272d	0x9a5aae97
-	0xc60a8d62	0xeb0f40c9	0x83ebae30	0x07dc9cb0
-	0x05dbdc76	0x0c108eb1	0x314f9247	0x7bfd6072
-	0xf648e1c0	0xae70bd5e	0x7c27b4d1	0xb0cff1c3
-	0x8c2dd93c	0x580a4b19	0xfaa1ee8b	0x4173a23f
-	0x838fa15b	0x2b0fe3c5	0x8059250d	0x659a445d
-	0x2a1c1968	0xbf13412b	0x1a9f915e	0xaf80263d
-	0x24508a66	0xe381d252	0x4e0f55a2	0x7ce1f4fb
-	0xc145da4d	0xbd4b29c3	0x27540ac2	0x23ad4b42
-	0x8e6bcda5	0x20061c20	0x1d3cb3fd	0x5c5498f3
-	0xc468681d	0x4c28ef55	0xf0165c1d	0x2dd6d032
-	0x7e347ccc	0xe04db59c	0x7caa883b	0x1f43df4f
-	0xc300031c	0x85f19e9b	0x22811fa7	0x2622940e
-	0x6299f57b	0x5c106568	0xd7da296e	0xccd36b39
-	0xe349afc0	0xd2c2463e	0xf7f55aef	0x0e0a7e3d
-	0x6b6fc6d1	0x8854098e	0xc87edace	0x8190c437
-	0x333b8ec6	0xe49b3a5b	0x4aecd4e3	0x14cc5f22
-	0xa11faf96	0x3d1cd023	0xae614c70	0x0ab662b4
-	0x908d8082	0x76316cd0	0x3068ec32	0x829b047d
-	0xf08d1b94	0x3b2b33f6	0x03df9ae8	0x40f632d0
-	0x3590085b	0xa33aad24	0x39597da2	0x99415f4e
-	0x7aed6e11	0x61a920ab	0xca851d8b	0x2606f821
-	0xeb7c0e8b	0x8bd6edb1	0x725b39f6	0x3afa6248
-	0x03540044	0xfb118ecf	0x8e18bd5a	0x2a85cc05
-	0x4ecac12f	0xf53a4d25	0x8e3fc6fe	0x32233799
-	0xc7ebb5e6	0x058fdcaa	0xe6db17ed	0x2751405c
-	0xa195a515	0x34410c51	0x4517154e	0xbbb5674f
-	0x28050e40	0x8fd71724	0xbe78711c	0xc1b18693
-	0xd202b9d2	0xdf4e0b62	0x460349da	0x71463aef
-	0xb2fb55d3	0x54a972dd	0x49379f09	0x7a7fdff3
-	0xbd82d4f8	0xd2894393	0xa82bca57	0xe61ca9b4
-	0x9e08e6a0	0x53dffe9d	0xe7ae1c5c	0x65bff365
-	0x7564aef8	0xd94abd3b	0x18d1ba52	0x64a759f0
-	0x65c5dd4f	0x6f9d433a	0x57cb5a25	0xc1862d25
-	0xcf50223f	0x90c2724d	0xf5527605	0xb085f18a
-	0x41e2b17d	0xfb1cabc4	0xd8ab04cc	0x761c2166
-	0x8365afd4	0xc3276657	0x14f64be6	0x5dd779b7
-	0x3b3f1faa	0x358d01e8	0x4c821ddd	0x7ada9f95
-	0x2970bad5	0x3b54a4bd	0x3ca7f039	0xcb67aabc
-	0x3b264655	0x96401a5e	0xa3990376	0x90834685
-	0x8ba56352	0xee98c564	0x4a0534ed	0x7d70fad6
-	0x5d73a1e7	0x23fd8de5	0x39c52296	0xefef1540
-	0x7bc934dc	0xeed157b4	0x898d8bfa	0x5761e88f
-	0x73af2674	0x2fb88d9e	0x28de1281	0x9aa76119
-	0xa3ac21ea	0x28ce635c	0x7596d79a	0xd3295e0b
-	0x7826630d	0xd815ef01	0x27cf2899	0xf3de6a01
-	0xcbb32e58	0x6c57be3c	0x292f819f	0xaa4623d6
-	0xb96ab772	0x90a6f778	0x44b9933b	0xa43e7543
-	0xb9f417b7	0x7a6537a5	0xf36a6da2	0x0a9bb3fb
-	0x177c1f28	0x0512c07f	0xdda55932	0x060dda31
-	0x14465771	0xf3f96780	0xb459e5e3	0x49aaefbd
-	0xb07db15d	0x2ac82807	0x8404060d	0x417d036b
-	0x70946fb1	0xe39e68f5	0x5f9b3035	0xf0335e7f
-	0x2ba457c6	0x2d97ba3a	0xc05156e7	0xbbc9afb2
-	0xd25981ea	0xe70d060b	0x805c231d	0xae471b34
-	0x31964d8d	0x3f34e35a	0x8355ee21	0x73822024
-	0x9ce5f2d6	0xdff19812	0xae55cbaa	0x55f5ecbd
-	0xfe558210	0x09b95751	0x41ee7cb8	0xd2b9fa15
-	0x342c07e5	0x7ee50e8e	0xb6154e01	0xdbf4df3a
-	0xd43e2c77	0xc3ff0498	0xd8106f33	0x9bdb25bd
-	0x40cb843e	0x106b08a9	0x3227ce7b	0x58bb7cb6
-	0xb84e3244	0x3f1d0e20	0x76dcbcfd	0xb750bce7
-	0xa8c11f3f	0x161a8610	0xdc1ef5bd	0x14270b6e
-	0x285e7898	0x68375db6	0x01d23b44	0x35a17fb0
-	0x7c9ad882	0x7bda2e0b	0xca67bfcf	0x6e2dd9ab
-	0x227a6aba	0x5d295397	0x5061f96e	0x47a20c68
-	0xf5427e3d	0x3a0a3165	0x2438fd9c	0x2dc91147
-	0xeabab62a	0xdc358e4d	0x7e1fcc9b	0xdc2a328e
-	0x6e6bf75c	0x68c45517	0x594fe5a7	0x2feac658
-	0x1f0a4d49	0x97575e83	0xcccbdab8	0xc13f3b64
-	0x8bfe659f	0xa4ebf545	0x2c3cf874	0x7d78ceba
-	0x46ac5d6e	0x09309533	0x78ffb6e3	0x7336541e
-	0x3d270f70	0xd71e72b4	0x9772402a	0x4ed185b7
-	0x213da698	0x78a54587	0x18054eb4	0x99179a25
-	0xf758337b	0x94629a30	0xec6bf4e0	0x255ac299
-	0xe56f52b1	0x1c2a6136	0xfb7cc1f6	0x87b53b53
-	0x079ca1f7	0x3a8c340f	0xeb70ef48	0xfd1caae4
-	0x564445e7	0xc1d5c663	0x658fb5fa	0x62d2debe
-	0xc0907042	0xb5402269	0x16965193	0xc038c21f
-	0x780f8b76	0x33ffeb3d	0x03ad9602	0x4a7b6432
-	0x93c2b2f5	0x40720fcd	0xf44c164f	0xcbd43d01
-	0xcf7098cd	0xc43242fa	0xc530a6b3	0xcc33c1f7
-	0xde3d648c	0xf1def13d	0x2a22f5d1	0x77704fc6
-	0x08ed5552	0x3e2295d0	0x00584764	0x6af8585e
-	0x43f845da	0xa92e38df	0xd98c12b4	0xb4fac901
-	0x0b05a079	0xa05f215a	0x27d635c6	0x9fc897e5
-	0x0eb91a30	0x43bdad4c	0x705df05f	0x6b7864b7
-	0x1b6380ba	0x4a64e8ec	0x517b7b68	0x67336d4b
-	0xc6d51eab	0xfac40c57	0xb977cbcd	0x0674e5dc
-	0x74ce2339	0x891cc5f5	0x3230ca78	0xa8a653a0
-	0xa8d4b370	0x496d2f7f	0x6ca677c5	0x54260ac2
-	0x630e1143	0xcbf6f819	0x546b2874	0x02267559
-	0xa2e23914	0x7c9a0393	0x1704bcb3	0x6d680415
-	0x91da300d	0xe2ce21d2	0xc38faf3e	0xcc8be7cb
-	0x14496036	0xc98e253a	0x05ca6582	0x8c566616
-	0xd26204dc	0x3335bd81	0xa94e5af0	0x76fbb455
-	0x23b27f08	0xc4db6f93	0x5cb5401c	0x7cb2ed29
-	0x7cbbad8b	0xfc1e8f5e	0x2bc79e28	0xf69228fe
-	0xbde16357	0xc9ac3b53	0xa6afbc74	0x984bb3f4
-	0x98a8b9d6	0xdd21c848	0x33e65c3a	0xc53c772c
-	0x633022f8	0xa324bd5a	0xd260a77a	0x668ca5d3
-	0x4b79a6b3	0xbfd19bbe	0xca2eb497	0x8e7eb5c9
-	0x169b2184	0x0503d4f6	0x24f35c00	0x0ac930ab
-	0xf694120f	0xcee12db4	0x9305757c	0x798a2db2
-	0xed27ebec	0x2f35829b	0x4294e805	0xa7994ad7
-	0x49fd229c	0x5d63fe52	0xb7cd7641	0x1a68af3b
-	0x6f952e97	0x1c02f4de	0xca3a1515	0xed5bf092
-	0x123c32ea	0x602030aa	0x7811cd1f	0x1b6c38dc
-	0xeb7712b4	0x4aa767e1	0x6b49d384	0x7ba4ee1a
-	0x87f02cd2	0xb8e6b0b1	0x090e9f89	0x95f8b90e
-	0x8d76892c	0x0be06870	0x9ec963c1	0x75d67c9d
-	0xdde23799	0xf9e3be20	0x549442fc	0x09cb0906
-	0x95ee6c4b	0x25a2d9b7	0x98154023	0xdda91829
-	0x0c46879b	0xfbf0e362	0xb7223786	0x7cfbc839
-	0x3b251e5c	0x8be187a6	0xa24f9da6	0xc3192693
-	0x7a8ac8b9	0xc493ca03	0xc736b974	0x369db725
-	0x85a6e92f	0x26dbef75	0xa61a71e9	0x38a08fb9
-	0x4a214ed6	0x57fc6f4b	0x9cf91617	0x322e13fe
-	0x5ac816a3	0x748a9728	0xdc777bd6	0x69fb5335
-	0x258439e8	0xf171a221	0xfa7a07af	0x26447b9f
-	0xadcf3734	0x5af34b97	0xf8b4b0dd	0x08c79517
-	0x28861618	0x64692555	0x19fe9897	0xe3bda02c
-	0x77df51ff	0x93dedf7a	0xc7cb57c4	0x02ee5928
-	0xd4aeb644	0x01d511e6	0x6512bd02	0x5d8f90f8
-	0xe77ccfe0	0xe6ee3ecd	0x5403139e	0x6f7075e5
-	0xb6484511	0x3bd42a35	0x5dcea90c	0x5bb1c6e1
-	0xb69b5847	0xfe106914	0x74442ce9	0x10997c57
-	0x1595af7f	0x9f04a8bb	0xa7d2870e	0x19e57681
-	0x54b276be	0x11c3e3f9	0xc5401783	0x9c413cda
-	0xa6aa9e8d	0x23ff8569	0xf1797ea7	0x86ce3e8e
-	0x9ef0a776	0x56a1c30d	0xf5e18916	0xb11464d1
-	0x7f313c1e	0x49c15cff	0xe2dcfb73	0x637819d8
-	0x2d6ce0e2	0x2170cd43	0xb750902d	0x5eb02cd2
-	0x6cadb7d4	0x89b96f3b	0x8d749ca2	0x8ac7abb7
-	0x31fbdb51	0x7a6df774	0xfb9139f0	0x56f3d9c3
-	0x0f104f2f	0xfaba3c49	0xe53aefff	0x932237d0
-	0x8ee10e80	0xadad6e20	0x19883a1a	0xf45a543b
-	0xd560ff0a	0x8c7b4e03	0xe35696d6	0x9e0ec159
-	0xfc2cbae5	0x6ce2cddc	0x14a72474	0x89757fe3
-	0x6b788e7b	0xc16fa200	0xad36bdf7	0x57bdc4d1
-	0x55146f2b	0xa57db4c5	0x313952e1	0x2c55d0d2
-	0x32ab0208	0x10f846bc	0xdcba1674	0x436485bb
-	0x932704de	0xcd7e2e1c	0x59f78879	0x7ca21395
-	0xbcc07be6	0x2b101e5b	0x38924c37	0xb90928f4
-	0x8f824214	0x55699b67	0x54cba493	0xe71c27a3
-	0xdde01c05	0x48d822fd	0x734ed8fe	0x29dbf298
-	0x9ef3a499	0xfb517934	0x19c8ce8b	0x38b8bf00
-	0x75da50eb	0x237f3b1d	0xa8940707	0xa98a4149
-	0x35ec2d39	0xee862d31	0x36659949	0x8f3dffc2
-	0x70afb227	0x94f443c1	0xb6f9308e	0x0e8ebd54
-	0x92b8960f	0x56d21560	0x8453d1ca	0x74c680c0
-	0x2d706dfc	0xd0b81c18	0xbac65445	0x40a34988
-	0x498145a9	0xf436ae10	0x9b72fec6	0xb4100aed
-	0xe305983c	0x349fe379	0xbf31cfa7	0xba624703
-	0x4a491754	0xf973a686	0xa2ba725c	0xd0a23615
-	0x31903086	0x4ae46e45	0x0f705e05	0x4ea6bbc8
-	0xbf299e43	0x0689709c	0x9fc93571	0x07cbc14f
-	0x542ef992	0x80ce91f1	0xf86014aa	0x17d533d1
-	0xb55e63e2	0xe02e0e4c	0x88a5ed22	0x6302126a
-	0x56b32e90	0x5fec4381	0xe2e98b3f	0x30693509
-	0x862e1d75	0x2da30e3c	0xad992d90	0xc62cae4b
-	0x379c77ba	0x467ea8f1	0x8a820048	0x74cc474e
-	0x6bca3803	0x18aaa3f3	0x1fafd26a	0x0865f360
-	0xe3479d10	0x6cefb2b9	0xf6612730	0x2e0f222a
-	0x749a89e0	0x75b1fa05	0xe2ea0874	0x5d422c20
-	0x24707d46	0x6d475835	0xed1e556e	0x6aa4543e
-	0x28b36c16	0x22d83c4a	0x8c3e6d51	0x42a94c9f
-	0x0c603d0e	0xa8c7f417	0x845997ff	0xdc79494e
-	0xa130d628	0xc2df082a	0xa3a2c27e	0x3f93b00f
-	0x1521a7e5	0xca15bae4	0x57e4e836	0xb915a471
-	0xd9147115	0xad52f80e	0x5fd2a2be	0x15972ed7
-	0xb69ec21c	0x502f2627	0xfb46a1ca	0xea685d34
-	0x9226f7f2	0x4b41927d	0x7965eaa0	0xb702e76f
-	0x79a54721	0x5b8e984a	0x37efcd59	0xfeabf30a
-	0xd4ad7db5	0xbb2282ab	0x8a5c840b	0x2ba370c5
-	0xdef5758d	0xa69a9aa1	0x46082250	0x6e8e8477
-	0xf6280c61	0xf99e4a14	0xcf3c5cbd	0xcce657f0
-	0xca635eae	0x0be182b5	0x58e8b43a	0x5c717ce5
-	0xaa7aaff7	0xc329c6b6	0xf1cc91ef	0x8d7cc520
-	0xda155783	0xd5e2e54c	0xf466f010	0xc5dfac4a
-	0x606ad5de	0xf4992f1a	0x1344c9ce	0x4aea9020
-	0xa30447c7	0x0a99ad18	0xd3caa96c	0xfe5b0b4e
-	0x7b50bbd1	0x33e50575	0xa22d1d06	0x73a1820d
-	0xce4c4c8c	0x2cde7764	0x511d1c26	0xad0cf826
-	0x086dc311	0x3060ef7d	0xe6fdc617	0x3050b179
-	0x1dbb5316	0x4145fcb7	0x2eb62505	0x2e1359e2
-	0x79cab612	0xaa9282c9	0x7eede562	0xb016f7ed
-	0x1445fefb	0x809b2e00	0xfafaa754	0x69ac113c
-	0x548a6e3a	0x6d444c14	0xb3d355d8	0xbbadcd2b
-	0x3032d634	0x7df39948	0x4c1f9098	0xa9d138ce
-	0x42823bbe	0x2ef39e3f	0xaaf9ef1d	0x63369afb
-	0x2bb76c9d	0xb7d38558	0x354160ce	0xc04c6378
-	0x6c71ab10	0x7914af1a	0x1c1a4694	0x2f9fce8a
-	0xe28f18d3	0x3acaa573	0x2503b236	0x90ca20e1
-	0xd2c77ccc	0xc3005311	0x836d9430	0xe91d8463
-	0xb53e4cb7	0x4e373c67	0xd06ef659	0x27e1a21c
-	0x285c0391	0x32046fa9	0x8b1b9c92	0x49a22f4e
-	0x81411430	0x050110e3	0x56144e6a	0x47fb824a
-	0xdb2e9a6a	0xb5fe97a9	0xabd37259	0x93da3055
-	0x19fb35e6	0x66661115	0xa27149a2	0xfb7d94b5
-	0xa315f9af	0xd7d97596	0x134d7d09	0xd5cde0e9
-	0xbc3f143a	0x1b2061ea	0xd7b15227	0xe8f506e3
-	0x0aa17e92	0xc8565276	0xc7d90586	0x22a26c8e
-	0x6d462029	0xe7b1ad73	0xd11fa609	0x67643f2c
-	0x64f1ef34	0xa0e7e0b6	0x9687611d	0x09c2d32b
-	0xb494937a	0xcc36510c	0x70555bfd	0xfa25e917
-	0x7d88b6da	0x30f3b531	0xd19b224a	0x999d0f7a
-	0x9fe0da18	0x45947b87	0x536dbf3b	0xa6f5182d
-	0xdf11f95d	0xa5abcdbf	0x7528110b	0xf54fe792
-	0x71a97619	0x680bd3ff	0x6981ea39	0x683ff854
-	0x302fbbe4	0x12129f84	0xf63cd448	0x69fe289b
-	0x568da933	0x2f1e1146	0xe7404e52	0xcd329394
-	0x02e41762	0x94456d4d	0xe9416a20	0x4e5920e7
-	0xe8db71fe	0x527a5313	0xe42c7d9e	0x58c8c1fb
-	0x28949bc1	0x312fdf97	0x3569f41f	0x3ed5f092
-	0x44baef39	0x5c11d5ad	0xb5d172cf	0xa9e4cfa3
-	0xbc5ed197	0x2f290ead	0x747f53ed	0xadf1b698
-	0x1b90440a	0x4cdfe154	0x9b24b832	0xeb97d794
-	0xc90fe91e	0x4fef1271	0x8bf96025	0xbdb49f79
-	0x63910640	0x26a05cce	0x3318e422	0xb2fc61de
-	0xf14cedd1	0x4bd7687a	0x8c4c91dc	0x48a857a2
-	0xb47aac94	0x787526e2	0x99349c7a	0x0bd6ba75
-	0xbfbc4b0b	0x040fbec9	0xd00de44b	0xc4c7f0f5
-	0x74a8653b	0xbd3cc036	0xa601a4f3	0xb82c0da0
-	0x2709b674	0x73065351	0xaf4cd23f	0x3481ea0f
-	0x6a1fa77c	0x26a9d280	0x95f4a170	0x393e7590
-	0x015b3d73	0x36d91e55	0x61a7f3f5	0xf6d39c21
-	0xd9ee4701	0xe57af451	0x5e141761	0xf6b6e472
-	0xa6efc965	0x9606aa1b	0xfb8ce005	0x831ab2d1
-	0xfe7a1af6	0x5e326881	0xa0ad32ae	0x15f86ecc
-	0xa1a634d2	0x3a40c4a9	0x88e10130	0x2e6c4556
-	0x8526aa32	0xa81b0d30	0x19c83936	0xdcaa556b
-	0x6dc8064e	0x5709ad31	0x1b6fba18	0x9ebe34b1
-	0x28abc3e6	0xd76c3908	0x4374657e	0x6f0fc085
-	0x4f19a108	0xb774421d	0x405228d5	0x123dbbab
-	0x18535471	0xfc6bde41	0xd4b2d82e	0x65b85772
-	0x64731e41	0x29e886f6	0x4c2c7eda	0x91586a5f
-	0x15b2407b	0x5fa08a72	0x56898e51	0x5424e976
-	0x19ce4a36	0x0ada4656	0xe634446a	0x478da533
-	0x36f1c763	0x01ec46c3	0x5e1d1040	0xf6da1918
-	0x831f8f94	0x43ddb630	0x80b5d4e5	0xfc403ba5
-	0x40dcdd4e	0xa19d0aa9	0x6c32fad7	0x7cdd6f3d
-	0x8e9c123a	0x42c4edd0	0xc8247030	0xf0e6cebb
-	0xf8d1425f	0xcfa8e403	0x67646391	0x9dee9f9b
-	0x5683c4f6	0xd958ae1c	0xc62eedfa	0xbd67ea10
-	0x253398d4	0x18b7f92a	0xf101a7de	0x60066732
-	0x4ca1e3dc	0x6e1eb0a0	0x115aa9e1	0x8370aae0
-	0xe46756d8	0xa02eb1aa	0x854dbb8a	0x6334873e
-	0x87613a81	0xb5bd56df	0x491371d1	0x02bbace8
-	0x2a2e45f9	0x91bdc460	0x2bcf90b6	0x81df2f07
-	0x34aa2dd5	0x5b54a117	0xb7a5bd42	0x713e2287
-	0x1ea184d6	0x176bdda0	0xa19c0d86	0x4180fd5c
-	0xd018a4cc	0x60120a37	0x8f6e094b	0xfebe1b15
-	0x42866bb7	0x4a9f772e	0x0bcf9cad	0xd936a924
-	0xec6cf0a1	0x1f9ccf16	0x81f8229f	0xdcef1733
-	0xb4a31fca	0xefbf0a0a	0x057e0b4b	0x59491c96
-	0x70ce99bb	0x908ce274	0x637ae09c	0x479fdd52
-	0x11ea6250	0x7778cdf6	0xd0ffe2ca	0x539b18dc
-	0xbcdab649	0x3066399b	0xd685edc0	0x79d8d588
-	0x32942aa1	0xd03531f7	0x5d024d56	0x4dc99729
-	0xd1efff53	0xdf3ce9a1	0x31462a0e	0xe5427113
-	0x395e2980	0xcf5c9d4e	0x91e11088	0x7e4d31e2
-	0x5ff91ae8	0x9340e815	0xfcb89789	0xcb1b2f58
-	0x655aa934	0x2eb022da	0x419104a9	0x6b648411
-	0x582048e2	0xa0db392a	0x1e1d6443	0xf3c7a401
-	0x1e737591	0x452af94c	0xfcb74331	0x2da70f75
-	0xa8b59eb9	0x736224c8	0x5ba81657	0xfb36eac0
-	0x4e0336b4	0x8925a32c	0xa4d60fde	0x8a95ff27
-	0x57a7e536	0x7e6a2f58	0xd9e9751e	0x817cc66a
-	0xca4bd134	0x627382fe	0x00e56736	0x74844fbc
-	0xab1f8265	0xa32955e3	0x41cd361a	0xb3ae6366
-	0x1f77ea37	0x2200c6ef	0x81854e76	0x49ed4e92
-	0xb57a7fbd	0x7b9de6d2	0x128feedf	0x57bb65fd
-	0x20ccd650	0xdcde5458	0xd5461b27	0x465147f4
-	0x70719068	0x2cb48f5d	0x6edc0d43	0x83dbda97
-	0xf077ea64	0xf61423e2	0x39a55177	0xb23ff07c
-	0xa02e4ca4	0x9e6250d3	0x77f1df9c	0x238c632e
-	0xce253a6a	0x096327c5	0x87f1db29	0xd75ac0de
-	0x456704b5	0x9ee7046e	0xd693dfe0	0xf995c6b9
-	0xa354d140	0xf16bf090	0xaf511cdd	0xdc56d21e
-	0xd7cc4d4c	0x5398cc1e	0xe5444b3b	0xe192f473
-	0xd09ae67d	0x8af2775e	0xc1af44a9	0x57bc4586
-	0xa6ff5419	0xdd4ba49d	0xec4864fa	0xda9d0357
-	0x84dfbe33	0xf41ba9c4	0x99e2bda8	0x9fba720b
-	0xa7dd9e92	0xa0d43386	0x3e0f9ef2	0x6e388282
-	0x8f47ea95	0xac920523	0xa98ae8a5	0xf6a6a4d4
-	0xc3fa2e55	0x74a21b36	0x9c0b14b2	0xc6b8a79a
-	0x367b7036	0x24b9f255	0x0b543b75	0xb630fa41
-	0x1b260452	0x7daf6714	0xdb8a13d9	0xede8f6bc
-	0x47a21d0c	0x01d9ca54	0x4a8e5cd4	0x257cd217
-	0x7504cecc	0x973bbf11	0x992b731e	0xaab55b65
-	0x77e2f058	0xf580b58e	0xb10419fe	0x679aa4df
-	0x296c1d64	0x751380f0	0x8f70f0de	0x3f78bdb8
-	0x1ee68ad6	0x7d5d50e4	0x823710a4	0x18b98d13
-	0x86bdf798	0x953b8131	0xb5da3d24	0x2eccd3b1
-	0x828a154c	0xed51b913	0x566e58ef	0xab8ff1b4
-	0xc744d227	0xe705bbc6	0x6032eb64	0x5495e4a5
-	0xe83add11	0x08429de8	0xa2e397dc	0x4f00c90b
-	0xcb7672e8	0xa1d55607	0x0741ca2a	0x323d64f2
-	0xa700ef1e	0x6ccb2967	0x07c29e41	0x018440a9
-	0xbb1880cc	0x35502720	0x8a13a96e	0xe2bfcd29
-	0xa76ad3aa	0xd95be915	0x6dd66033	0x41d655f3
-	0x02009028	0xb44ec634	0x82e61d87	0x216e624a
-	0x7fc79105	0xac0307cb	0xd22fa331	0x63746b2f
-	0xe51ab72d	0x9b550c82	0xb28dbc01	0xd569d017
-	0xd168d372	0x8d6bfe6b	0x5820751c	0x820a4e23
-	0x13cfd07a	0x678c8319	0xd1e65476	0x752967ee
-	0xafb28392	0x390d5488	0x53668098	0xa0c92673
-	0xaf0549c2	0x644f51c3	0xd59df083	0x7cb37a42
-	0x12261017	0x038c15b3	0xccc30b03	0x85ee24ce
-	0x1e029b23	0xb6bb2845	0xb62a305e	0x2d0cf4e9
-	0x182b887f	0xec423ce7	0x8c1c0b25	0xc83b4737
-	0x71fb9023	0x63d639f6	0x16c1ce44	0x66ac8331
-	0xd9aa0975	0xba3d445c	0x5d097729	0xb353a034
-	0x23811786	0xb81394b5	0x5323f1b3	0x7a3e1576
-	0x3f2867ad	0x0bc88c8e	0x74b60d63	0xd56335de
-	0x0d40f71c	0x55ec2524	0xea3a2c78	0x19e5e0ae
-	0x9bf3d033	0xf57bbc94	0x05b6ac55	0x4c368744
-	0xae8c68f2	0xf23aad06	0xcf94d185	0x2360ff3d
-	0x0e8a87f9	0xb97c8d33	0xa7122e6e	0x5ad4dc50
-	0x6145ff8e	0x617389df	0xe8a0e09b	0x4d40ce6f
-	0xee2b65fa	0x4104d368	0xf4bc9d85	0x0b67abbc
-	0x7bbad9ff	0x26b293a2	0x06055372	0xbbb05665
-	0x0560311d	0x421dc535	0x9c451ac7	0x38c83a74
-	0xc8921ff8	0x634d52c5	0x6e66dae7	0x1c86fae3
-	0x5a0645bd	0x6e5fddc9	0x86852d55	0x76207d9a
-	0x6a4b7990	0x661c00eb	0xb268e55b	0x17daec24
-	0xa2854da4	0x9b1f3f63	0xdd200bc5	0x0b50aecf
-	0x8242f913	0xc7ab6eea	0xaa977c22	0x748d0d1b
-	0x4490aae4	0xaa293e18	0x69aa0720	0x6115eb81
-	0xa5b187fe	0x828bfe34	0x5fb6d155	0xe764d755
-	0x08833186	0x8475cce3	0x718bfb48	0x063b287b
-	0x7ea71b59	0xbedbfd29	0x3736aa07	0xe2dfd533
-	0xf2ea49a3	0x96b0983a	0xc1f60b14	0x511bed9e
-	0xac976686	0x9c60ce3d	0xfffd0b07	0x59d7cf79
-	0x477942b4	0xff2f43cf	0xeb4b899b	0x37a47783
-	0x8e6602a7	0xb6bfc410	0x7685c6e4	0xb7ec103a
-	0xd54fdb01	0x3933d261	0x725982d1	0x86ada0a9
-	0x83788370	0xbafb1498	0x13972979	0x2157be41
-	0x5e976c80	0x05501107	0xb3b66da9	0xeebcb8fb
-	0x42ac1fee	0x1dba34a9	0x3f5a7582	0x362e7ed7
-	0xaa69be91	0x419f4d18	0xb09a9967	0x31aba127
-	0xaa247bff	0xb31f4958	0xe79562af	0xfb73878c
-	0x47dc697a	0x5d08fa9b	0x91dcd3c2	0x53e52d33
-	0xc84ddc84	0xdb5f8e17	0xe51889e2	0xb1aff523
-	0x4ffa0702	0x2c72b35a	0x9a4246fc	0x62420517
-	0xaad11acc	0x18190bf9	0x11e140de	0xacc99086
-	0x39347992	0x191a53d7	0xbe92c4ef	0x9a934b5d
-	0x64cf7353	0xe30a3e8d	0x0aa6db52	0xb0a7e26d
-	0xc8fe2f52	0x2e274a07	0x0c94b6ba	0xf80eaf3c
-	0x1ba3e94e	0x5853ffe3	0x11652833	0xce7b0839
-	0xd1893c23	0xd06d2078	0xa65f020e	0x281e6a7d
-	0xdf1da5a2	0xcdf69d20	0x74fa9b92	0xd98d6000
-	0xb732496c	0xbd12f87e	0x561dc55a	0x651d42ff
-	0x5736b74a	0x2c48a906	0xfdcbaf15	0xf76606e1
-	0x80dd0254	0x8105e60b	0x143200b2	0x0f02f524
-	0x1580d2c6	0x7281c6fc	0xc971cd31	0xd4a57180
-	0x5051e5ec	0x193c72eb	0x930332c4	0x488d7403
-	0xa93e425c	0x93e8ca97	0xa0a55070	0xafd8f8fc
-	0xc424f1bf	0x11050ed2	0x855d0923	0xa0fcef35
-	0x61f9e84a	0xc2196706	0x7221d5f7	0x96d036a5
-	0x137ca3fb	0xfd632623	0x30b10850	0xdda390eb
-	0x270fc9af	0xe6a8d748	0xf55bc288	0x8cc912d1
-	0xf2d9cd15	0x5ded2f07	0x2de9b076	0xf5088354
-	0x885becf4	0x959ef88a	0x0d9ea589	0x2ceb0a27
-	0x8925270e	0xca5ecd99	0x8ba9265c	0x209eb0b7
-	0x2e8b51d8	0xc598e096	0x23c17aa7	0xf600bcae
-	0x7b33f831	0x223e1501	0x361c9f12	0xe6aeea94
-	0xa5c6948f	0xd1daf8cc	0x0b0e0b54	0xb0cea6c7
-	0xa437fbc8	0xdb4139ab	0xcbbad47a	0x124e2117
-	0xfb80c5dd	0xef085f4a	0xd24c5fa8	0x2548a1db
-	0x5e6cdeb2	0x8e4f0290	0x78cd8245	0x1ebb5eb6
-	0xd9bf1208	0xf20eaf0a	0x544df94d	0xebc9c742
-	0xbc5b4bbe	0x33f6fcaf	0x32efb07a	0x55d91b59
-	0x2c0ed1bf	0x39985cb7	0x4cab882f	0x530cdaca
-	0xccc78cfd	0xdd834c48	0x7ce7898d	0xf7458891
-	0x933c2ae8	0xa06c5762	0x2eb03e35	0x8e938b71
-	0x3636f142	0x0026efb8	0x183d71c4	0x7e8ff92a
-	0x63265ea6	0x0f1352b8	0x73f8a8fa	0x6594e921
-	0x401f88db	0x64abd8e6	0x994140c7	0xb2258b0c
-	0x9bd6e6a1	0x92bab589	0x5919a943	0x29ab4d8e
-	0x33cbb8d4	0x57084d92	0x006c4d50	0x57c49e54
-	0xec1ecfe6	0xeaa8109a	0x269d94a5	0x4a664f84
-	0x2bda2944	0xdafb85c7	0x2a7b4b8c	0xd8f124d6
-	0xbbac0e70	0xeac5a129	0x308d7e39	0x99a023a9
-	0xf616fc22	0x76fcc40f	0x7f745409	0x83872303
-	0x0b067846	0xdf90a414	0xb6d9b6e1	0x8d0f93d8
-	0x6f76a627	0x02f89060	0x392cb9e0	0x6acf19a9
-	0x7cffe4d1	0x9928b4a0	0x87a031bf	0xecff42d5
-	0xa376e023	0x69d2e1e3	0x1fb67afd	0x5396049a
-	0x45538549	0xec0e6f60	0xf1ab27e5	0xc679e764
-	0xee430c38	0xa6b0c2dc	0x92824db1	0x65d5ffe7
-	0x448b17d7	0x9c67c8e0	0x14b36e2a	0x283de0a8
-	0xc59bb35d	0x8faf1ca7	0x4265db7f	0xb0e74749
-	0x0924d389	0xc22bf3fa	0x017c143d	0x93b4e0d4
-	0xf8aa8e07	0x07e0293d	0x5b40bba8	0x619c8946
-	0xc817ee7a	0x82fd526b	0x3e5b0f9a	0x5b352d98
-	0xc786d63a	0xcbec5c0d	0xd05e9640	0x7cab758e
-	0xaa9bd61d	0x205ff53f	0x2f093865	0x55ef390d
-	0x4b008d12	0x0344c52d	0x64820f87	0x8e9c5202
-	0xdd3f2276	0xf3b46630	0x80e85ea0	0x9aea428f
-	0xa205b11f	0xa8506b8f	0x2c89f419	0xb0b9694b
-	0x21029e6a	0x5e05869b	0x3baf3c6f	0xde680ae1
-	0xd65b5eb0	0x99a6937c	0x52a78fe0	0x6f577b06
-	0x8dea8d63	0x2417d49c	0x1a0ecb5d	0x91f22002
-	0xc540298f	0xea9f8f6d	0x01ccfdb5	0x287138c1
-	0xef206774	0x9d5deed8	0xba844833	0xf612317d
-	0xe0bd4bb4	0x595d0440	0x73643204	0x2c21370c
-	0xf9d5df6e	0x05614527	0x73c4edee	0x33f45ded
-	0xbc47170a	0x24b94b30	0xff304e54	0x4e0c3b53
-	0x658af390	0x402418bf	0x9db7318c	0x058721ed
-	0x896bdd56	0xa956c5cd	0x3f928400	0x94c93146
-	0x56600758	0xf46f4f66	0xa5bf66d5	0x0e8b5870
-	0x8ba7e755	0x4177fee6	0x32cc8824	0x90b677d8
-	0x307e9dd3	0x853a7e3b	0xa2f064a4	0xa42dbd46
-	0x243ed6a9	0x7164eb1f	0x9e97212a	0x9757d142
-	0xde296a05	0x8699a74a	0xeb02fa7d	0xf80b41fa
-	0xd9dd2198	0xd7ffbd00	0x21b15853	0x11b78093
-	0xbb329142	0x5260fb1f	0x22fb24fe	0x7a5e7e71
-	0x71434197	0xc5ddca32	0x930c8cb9	0x65192958
-	0xad1a41f1	0xc77442ca	0x72b64ff7	0xa90bcde5
-	0x184a19de	0x71df036e	0x1b69b0ed	0x023c391f
-	0xd9847da5	0xca57d383	0x0d21255d	0x2ea68d9b
-	0x0189eeb5	0x1ea62386	0x4c8d42f0	0xac20dd55
-	0xacceef1d	0x972f56e3	0x0bc40455	0x3853c5a7
-	0xcab0d1f5	0x0d2a990b	0x525be1ba	0x5cc6daf5
-	0x4d564f06	0x834d8f94	0xc0c055e1	0xef34557b
-	0x354537de	0x7207e6b8	0x659c9298	0xa88ac04e
-	0x80d8014a	0x7f4f6e7b	0x1136e621	0xb1b62f79
-	0x8d4613ec	0x673699ee	0xdd6d7741	0xdba1ffa9
-	0xe219e1b3	0x8bf64c21	0x14aadc3b	0xc4dc4e19
-	0x47ae1e52	0xc5409e4b	0xce8d29d8	0xe0b1cf25
-	0xcaf06411	0xd5450dcc	0xf14f29ee	0xf3611dd5
-	0x52bc02f3	0x886b68aa	0x3b2853ef	0x110aafb0
-	0x6b6d765a	0x87fbaa12	0xc79f134e	0x88b910fb
-	0xe04aa148	0x33feeccf	0x3be43d3b	0x067854eb
-	0xf22561e5	0x56c3abc3	0xcf0ff408	0x6291d940
-	0xe26819d9	0xcfd04da7	0x94ab2808	0x156dcd0a
-	0xb6d1c47b	0xdca4aa76	0x877f870d	0x4e06ec17
-	0xbb560b01	0xbe1b62e7	0xd98b51b2	0x7083e3d5
-	0x427ab621	0xe5fce36f	0x606dc14a	0xe4b70b49
-	0x982d2446	0xf2d2e82a	0x60836061	0x681317fe
-	0x1667e3c8	0xf6eef490	0x1ad768d2	0xbc86ae5c
-	0xfbb392de	0x868caaaf	0x8429b5ff	0x266b6d5b
-	0x372e8f2e	0x6e875cce	0x3a972f08	0xabddef20
-	0xc777c559	0xd8f924a4	0xad39137e	0x4c16a4f0
-	0x91d51877	0xae645599	0x4d09feb1	0x0cdededf
-	0x5749b5b8	0x513c9745	0xf4da62f7	0x6583b20d
-	0xb599bb89	0xaf6bea53	0x7275f6b3	0xdefc5092
-	0x01a3734f	0xd95f4c5f	0x37bce97c	0x63610b99
-	0x30555fe4	0x20af2f26	0xf84b2652	0x67ef6d87
-	0x2119805a	0xcc79747f	0xaa479405	0x63a02857
-	0x1953fc39	0x4f952879	0x886bfe97	0xf0067752
-	0xa08b5005	0xcd9a5ebb	0xb04486e6	0x560c79ae
-	0xe8faf52c	0x64a9a961	0xae9a5f1b	0x74cb5ef7
-	0xf8d0269d	0x2fb63c57	0xd78a9a90	0x99cc0a42
-	0x46bb0252	0xe56b026b	0xfb5ff703	0xdc8e0588
-	0xe5d9e280	0xa73ec2b3	0xe21bccb0	0xe22ee743
-	0xd1bb3217	0x5d4b3f92	0x0a627d8b	0xf2fd974a
-	0xad0a57c4	0x261ba12e	0x1670f842	0x996ab25d
-	0xf6f8043d	0xa6cbb362	0xcac3044e	0x6fe01268
-	0xa54ab676	0x54d7444a	0xf3be5437	0x6b2b737c
-	0xbe10300c	0xea505599	0xd60a15f6	0xd971ecc0
-	0x9c480c46	0x2233038d	0x66d38df9	0xcb566912
-	0x63cffade	0x75811ca6	0x8dbfa4cc	0xee5fc07b
-	0x23329e49	0x39ee07e5	0x5de33ff1	0x601f8348
-	0xb60a8bc3	0x832d3660	0xd1bee11b	0x1a38d12c
-	0xaf00744f	0x21c2639b	0x0fd34252	0xcd63a9f1
-	0x60f34993	0xf8728afe	0x75f8bb5c	0x74a250ca
-	0xb9f51490	0x6ac643a6	0x4011a0e5	0x77288317
-	0x57f772b9	0x92c0715c	0xd5d0e030	0xde335025
-	0x669f6b14	0x55c74853	0xf3ac7cd5	0x38284e8c
-	0xb0fda481	0xf9b7f045	0x839293cc	0xdf91a0a0
-	0x18d20454	0xf73214fc	0x09577b9d	0xb5febd00
-	0xd9b96c88	0xb454ea2c	0x6204a932	0x736edf8a
-	0x9724f56e	0x3092f58d	0xac17cced	0x5ae87e39
-	0x28dd2a0d	0x3806d96f	0x5e7c8c68	0x72df4471
-	0x0207de38	0xf026ecac	0x13258e9a	0x34a8e8ce
-	0xdd7d7286	0x8d7553af	0x11ebac36	0xfb9965ff
-	0x9beda82d	0x1cd898cf	0x1b791830	0xe96ca8f0
-	0xa0d274d6	0xdd6fea3a	0x7537177f	0xdd93627c
-	0x60b64e47	0x10f30724	0x12489cf7	0x4587e1ac
-	0xe7835522	0x61d48d9d	0x6afd081d	0xafbbcf2c
-	0xe31d79cd	0x49ae4218	0x7c2c4a33	0x4fdf949d
-	0x52ccd576	0xef2c3d62	0xfd5b75db	0xe6a5c2e9
-	0x04fc9c6e	0x47fde414	0x8a87ebfa	0x850904e4
-	0x2f49b552	0xb5f186fd	0x772a4ba3	0x48d0be3c
-	0x846c7d78	0xc1c2a1d7	0xb9375f9d	0x302ed828
-	0xf79208f1	0x8fdc4f71	0xc749ed51	0x1cd0c28c
-	0xee5a5f7e	0x7f02b7ca	0xdc3b531f	0x99c0119d
-	0x428e5474	0x10515459	0x8d804d27	0xb7c00220
-	0x264c2695	0x7aa6e5af	0xef807715	0xa444f446
-	0xe51c7755	0xcd825b6c	0x39afa440	0x88638e46
-	0x4ea4366d	0xddfc9854	0x99696f2d	0x210592ea
-	0xf4763dcf	0x7358acdb	0xedfc8523	0xe46031c8
-	0xc9762414	0xa71a348b	0x084b6c82	0x9162e0d7
-	0xda6a5b8a	0x68ca14d5	0x6385741f	0xb103d4c2
-	0x44299ef8	0x9aba89fa	0x2c87dcfd	0x476865df
-	0x1189dbb2	0xdcd9d19c	0xac2bbd51	0xa71526f5
-	0x745222d7	0x4813ca98	0xcfa5802c	0x5d2b3907
-	0x8a17d1b8	0xea56f907	0x3ea58d71	0x933fa242
-	0x021f46a7	0xab8d4e86	0xfa4eb33e	0xaecbd5c3
-	0xb3258e74	0xaac9f193	0x415a5518	0x28b13031
-	0xbae39e53	0x1072fd5a	0x4e0fbf55	0xb02c5d77
-	0x5949c780	0xbecf72df	0x15e52c72	0x3ffeb165
-	0xa8e73d50	0xa52fd918	0x2b3c4d7c	0xa1e9e021
-	0xd8e91949	0x63bf63ed	0x8f2e150a	0x9cbceca9
-	0x33b10a97	0x4d2c69f7	0xf26371bf	0x0b5214ec
-	0x10eb7fca	0x1958b429	0x25f190be	0xafcfb396
-	0x7aec0c45	0xf9a0f163	0x9c966818	0x28f83619
-	0xe35c61d4	0x1ad8a656	0x576dba63	0x7aa44804
-	0xf941b7b8	0xc5faf3cc	0xdf1fd628	0xc009417b
-	0x366ea78d	0xd3cb7030	0xf3f12e97	0x5298cc89
-	0xbb43c8ef	0xd0a8ef96	0x564bced6	0xbcbd865c
-	0x5c80b1d7	0x131ccb04	0x7502d06e	0x465f5cb0
-	0x93320c4c	0x9df42986	0xbdb1fe26	0x48ae8bdd
-	0xaf44e912	0x6aa468a5	0x67ecbb05	0x30b7c0a5
-	0x3ad75711	0xa2d5f63c	0x30150058	0x4d748121
-	0x70804875	0xf46b6ea6	0xa3fcbb7b	0x1af6b4c4
-	0x48496de1	0xdb1a2321	0x758eb79a	0xf35f697f
-	0xb4ff9dfa	0x38ab5b31	0xc918f6f1	0xb3a259fb
-	0x3610afe7	0xdfcaaa0b	0x00c747dc	0x96c40b4a
-	0x5c815168	0x29198fee	0xc94eeea9	0x70432b55
-	0x5de7bbd4	0x0995652d	0x4b3e846c	0x7e4c9ca1
-	0x7c0e91e6	0x401a820e	0x3ca3429a	0xd3812f44
-	0x9cb6a5eb	0xf03ce395	0xefca548b	0x8943bc10
-	0x472b2108	0x82d4a386	0x1d0ef931	0x94cd70ef
-	0x2d00d619	0x40d36f80	0x238ccc47	0xe0856568
-	0x9f06ad8b	0x95a4052f	0x287a57fb	0x9e9f9891
-	0x62bc3a31	0x24c3c1f8	0xbabdc3c4	0xfa40629d
-	0xd16f1f33	0xa9f7600d	0xbcbdb2d9	0x214f24be
-	0x623ea3b0	0x8d650418	0xe86635b7	0xb834745f
-	0x20771340	0x3c69a0b2	0x8b7c84cc	0x740e475c
-	0xe5a540eb	0x9e216852	0x1383201e	0xfbf1f572
-	0x9680d736	0x3d7f8d69	0x615ea313	0x87bc1297
-	0xe552725c	0x9bfee104	0xf2e87d90	0xde9188b4
-	0x028d268b	0x51c75c60	0xed93377f	0xc380d9d9
-	0xe858bf8c	0x5d0b4a40	0x05a3171f	0x76ae3ec0
-	0xf86e3fe6	0xc3d78254	0x7cd640c5	0x6835dacb
-	0x983bd9a8	0x05d1e564	0xc5d5e9b3	0xf81c6560
-	0x8ecba474	0x071daa33	0xf5010276	0x5432ba59
-	0x10f2dbc1	0xbe892680	0x7e92d3d7	0x8d2f0113
-	0x37fa8034	0xb13058f4	0x44684553	0x2bd0e36a
-	0x67ea83ef	0x815e7115	0x3cd123af	0xd9aec852
-	0x67c61c95	0x861d068a	0x60c7797e	0xd9733b31
-	0x9ed29f37	0x1ccc8e08	0x34bcfa7f	0x1c66914d
-	0xc64dc834	0xad884c08	0x2b22b8de	0x53d6fd78
-	0x0355dcc8	0xfd363485	0x62370358	0x0dcb046d
-	0x22fe7d2f	0x5fdd1117	0xccd6d8d1	0xe97925a4
-	0x309aca3d	0x56c31fb9	0xe6f81e08	0x24fc0560
-	0xa78d459b	0x4940b35b	0x9a4a2fdb	0x203eafb8
-	0x91e5fcab	0xfb9be08e	0x9cb903ac	0x31598d89
-	0x4f41986c	0x77206f4e	0x61811c9d	0xff51d95b
-	0x2d7b4c66	0x84ceb768	0xfb135597	0x58087b13
-	0xa1681cc2	0x14009e31	0x778c3fec	0xe3faf2fb
-	0x5092b2c9	0x8919c362	0x34e2b174	0x7bb04f44
-	0x63c39b5e	0x8ef696ff	0x2e4c612d	0x77d390e2
-	0x5dc958a1	0x528bb31a	0x1cb07e7a	0xe37c9c53
-	0x002856d7	0x6a10b962	0x423a7b39	0xc6da9227
-	0x207800e9	0xe200c119	0x0e5af6f3	0xfb580459
-	0x71dc40a0	0x70434cd9	0x13f7f455	0xdf3fd7ca
-	0x37cbc698	0xf5a5808d	0xa7bfdf32	0x8a0774c7
-	0x75b67d50	0x5a6908c9	0x23611a6d	0x8b50c483
-	0xfe1e2eba	0x7ee1c732	0x2191e47f	0x9e63eb3a
-	0x379cd875	0x4df7258d	0x166a8aa8	0x1c94586a
-	0x2456c4d3	0x000185fa	0x7a196b46	0x914e789c
-	0xf562c939	0xb3bad5db	0xc2c19b89	0x8a621ffd
-	0x0c807ce0	0x701a938f	0x69234cdd	0x36a00f09
-	0x964c43f7	0xcf71cd85	0x5f504e16	0x446c6388
-	0x25742397	0xf1a375c8	0x6bcf822c	0x1b175fd7
-	0x0fe78e56	0xfe7817d6	0x66da0366	0x904e8327
-	0x5a0749fa	0xef3ede57	0xd0fa2ac8	0x89791771
-	0xa5cd616f	0xe9ef2860	0x9b533bc3	0x1d746f03
-	0xf4bb82b5	0xacae0438	0x840b3e34	0x30371a0d
-	0x8590acf3	0xeb4ff7e4	0x40437052	0xba847bf6
-	0x24059538	0x44daca63	0x23b32e28	0x091386e0
-	0xc480e66a	0xe4a839f5	0x34929bcc	0xb9051207
-	0xd21252f9	0xc6524769	0x8c422851	0x36280aad
-	0xbf00b1a1	0x4e36c85d	0x7949e8ef	0xf76be57e
-	0x373a0ab9	0x1b7555a0	0x0c2caf56	0xc9241f75
-	0xbe5b0ee8	0x5a486f75	0xfb2c050d	0x6aeda464
-	0x3fa744ee	0xf6e055a1	0x0a7324ab	0xfab58776
-	0x09baaf66	0x459ce186	0xc6eb1894	0x56a4ce4a
-	0x58ce1069	0xf4debf5e	0x04a145b9	0x1a246583
-	0x9b07fe23	0xd4d37068	0x7321e0bf	0x2dfe17f3
-	0x426dd8a7	0xc561a2d5	0x7f515a47	0xe57d37fa
-	0xa85f0aa5	0xffb78cd7	0xf30c4551	0x3572c02b
-	0x6f4a4cbd	0x7322ecc7	0x170a7b9a	0xa1e80d28
-	0x5a366af2	0x4f24a3a7	0xfefd29ca	0x0d7b02dc
-	0x1adde2e1	0x5c426cc5	0xb1e53b76	0x5dba2c5c
-	0x1458b6ca	0x73cea912	0x39626c25	0x7547e76d
-	0xfcddbb97	0xf03d59ee	0x3cfdab3d	0x309db86e
-	0x3de8df47	0x4a570e6d	0x09c9579a	0x19ac033e
-	0x0a7a9a86	0x3662d261	0x048fa67f	0x4aa4009e
-	0xc7660654	0x524d81f1	0x3157ec52	0x857d1f10
-	0x3770162e	0x3d1ff919	0x732d2b13	0x84187da0
-	0x95722d45	0x362cada5	0x5d67637f	0xdaae8465
-	0x9f5c0699	0xab9aba98	0x6f97d3fa	0xf9cc4120
-	0x0ca1872c	0x1a832c9e	0x7b74d6ae	0x98dca967
-	0x03eb7699	0x5fd02b54	0x962c6224	0xde1ab807
-	0x800af435	0x2458a4ca	0x717de910	0x31648afc
-	0x871527de	0x3cb93892	0x45237e37	0x446b1315
-	0xecd807e8	0x70f38e30	0x140dc60e	0xaef7b7c1
-	0xadec312e	0x94d45820	0xb8960073	0xe8dd5bac
-	0x7616ab11	0x0c3cc190	0x516003e3	0x323cdb39
-	0xd679f9f4	0xd7c179d2	0xdfbc5e24	0xaa1226df
-	0x3cd41b0e	0x88f436f0	0xbd5b6cb1	0xb78c69aa
-	0x982e0ca0	0x91f852a3	0xb331636a	0x28df67ee
-	0x81b029a1	0x9e7375e3	0x56e874c0	0x8b93a735
-	0xa47eaa4e	0x772ad825	0xfb83ba8b	0xc08db79a
-	0xcb7a34be	0x14214d72	0x7d6fa82e	0xe75c7002
-	0xa6290902	0x716d04c1	0xc75f0a97	0xb68e0912
-	0x08b5ef1b	0x507ecac3	0x2d740b08	0x43b6c7bf
-	0x3965675a	0xf56dc4fd	0x1ba44239	0x36753f70
-	0x0b2452fc	0xe36bafe9	0xfc3134c3	0x2ac78286
-	0x69ba53b8	0x225b9bd9	0xaf426f79	0x99bd2d3e
-	0x0bcb8e18	0x28c87047	0x2045b3b9	0x730ec870
-	0xe6558839	0x9ca3de82	0x263a41e7	0x1c8ea255
-	0x334eb3ad	0xc36d6793	0x66add8ee	0x652c8548
-	0x79dca1a8	0xc2526972	0xd10f03e2	0xdbae6f42
-	0xe223bf69	0x10082495	0x74ba4cf9	0xeb71ef5f
-	0xafae5d4e	0x7b3663e9	0x9339468c	0x31edca72
-	0x65a07876	0xf336fc1a	0xaa505397	0x011d5253
-	0x99b88ade	0xa688f0fa	0xedac589d	0xab4d8f45
-	0x0ff866a1	0x61280e9b	0x65c5a63f	0x8b372073
-	0x7a4c88df	0xc74f7959	0x19597c51	0x97c8a27f
-	0x33eb652a	0xffd40c86	0x57a2ca0c	0xaabc6cc8
-	0x54fd2280	0xd5b59006	0x2e00f009	0x72bd86c4
-	0x24936e04	0x877188de	0x91b60401	0xb949b337
-	0xdab93e69	0xdffeab2e	0xb3aa7c79	0xb8612f31
-	0xf0c53b58	0x8896833f	0xda35944a	0x1867027a
-	0xef6bfce9	0x8213f320	0xac477eb2	0x92368362
-	0x606cfdc4	0x27c98907	0x50673ac5	0xec48f5f4
-	0x39e879f8	0x80d050c8	0x9febddbe	0x5d797725
-	0x06d8b755	0x0319d93d	0x7eae3ce5	0x8963ed64
-	0xc91772c9	0x4e031095	0x2fd03d3e	0xe774ea89
-	0x7dbc97ab	0xe8d8f361	0x6e167fa1	0xd1520c5a
-	0xb3278325	0x8acaf913	0x6ea81dd4	0x9e3b2a97
-	0x0a5b8a09	0x84000db1	0x59a30fa9	0xf0b6868d
-	0xfb62b0ed	0x8953057f	0xdbbca3c0	0xc103b876
-	0x47420e14	0x1eb22bed	0x58c8f65e	0x3a689da6
-	0x8ed1a99c	0x869ddc49	0x60015d09	0x2264c797
-	0xdc10c6ac	0x7275327e	0x8d47d2ab	0x87a75624
-	0x3dd8fcb6	0x40e67a31	0x98114b1f	0x7e3a5976
-	0x1d9e62a6	0x988c0398	0x0c7c0d8d	0x0aad4954
-	0x3c40a234	0x7b752b7b	0x79f94813	0xa0b86dec
-	0xe3f646ac	0xa993f76a	0x6f9d1f99	0xe883dabf
-	0xb8ab1b2d	0x6766ac8d	0x6b9a793a	0x02f55fa5
-	0x351a96ad	0xd190f768	0x35667fe0	0x6a85c938
-	0x72444e33	0x5140a848	0xd3062250	0xe4ce902a
-	0x44e7d9d3	0x7c8d48fe	0x4d26a61d	0xbd013c4b
-	0x540d32bb	0x9152cafd	0x09840a30	0xd7a8663a
-	0xd5a3ca17	0xfd5dbe65	0x655b226f	0x7cb9debc
-	0x59d300dd	0x13737132	0xdf0d004f	0xe98bbd9e
-	0x5626fb54	0xb6d66fbd	0x273087a8	0x032969ea
-	0xbd69c191	0x010cdfff	0xb2a9cea5	0xb8778e4c
-	0x8f0dd084	0xc75b4ce6	0x9c027c6f	0x36c58105
-	0xac424eb8	0xa15d2883	0x9e73b7b8	0x54e9aade
-	0xb9500a5a	0x97505e35	0x4c59b36c	0xb3ad1302
-	0x31e21ed1	0x78bcd74e	0x2d9fc122	0x49bae35e
-	0x5c8f01c0	0x8d29829c	0x0c672566	0x37938db5
-	0x4959e71f	0x0d2365bf	0xaab666b9	0x52b2cffc
-	0x200ee1f5	0x5dbb262b	0x9aae28df	0x3223780a
-	0xb65218cd	0x633b797d	0x93f42423	0x3268b3ae
-	0x141e506e	0xb1ed94b2	0x497b7973	0x9f2db9f6
-	0x5260bf9d	0xb30e4310	0x4a3539ec	0x275d2ae2
-	0xff43e500	0x645e30e5	0xf1527598	0xb76ec4cf
-	0x88fc44e9	0xde68932c	0xe61aff6b	0x19d042b6
-	0x11981ff8	0xb0d595d9	0x52764f82	0x7e0ca214
-	0x8cc51237	0x581f2a1a	0x482420b3	0xd47ff971
-	0xcff78344	0xc019eca7	0x3146ab02	0x107a3ee4
-	0x16dc120d	0x33a239ec	0x0ea84236	0xebc7a1f4
-	0xd1f2fa2a	0x9464c008	0x2b76a4fd	0x9b4acb99
-	0x00f6a92a	0xd68b8d15	0x25e1e58d	0xe1fe3cd1
-	0x6fbce2cd	0xf78be2dd	0x09b9c08d	0x6b32d210
-	0xd06e7c95	0xd62f47f4	0x92c717ca	0x44fe3d2d
-	0xaa13cc08	0x3d411f94	0xc2eba262	0x7521c9e4
-	0x77d6cdc7	0x22d76158	0xca2efacf	0x3e51004c
-	0xef9a82d6	0x1508d20c	0x923f18ff	0x3eaa88e6
-	0xf2f32bc7	0xe74b8483	0x82529884	0x58b38ad8
-	0xdd9f2a5f	0xdf54adc3	0xd4497667	0x789c000b
-	0x935d1743	0xa52d5f1a	0x4e27adf6	0x5c3334af
-	0x6cf71ba0	0x501f8353	0x031fd6cd	0x4831ec4f
-	0x08c847db	0x6a6e0657	0x0bd803d4	0xd7c48cfe
-	0x94b7e25f	0xc6516ebe	0x1001c08a	0x0e165da9
-	0x4e39605f	0xe3f3637a	0x013daae9	0x217168b0
-	0x6013ab5f	0xd5b7eb97	0x8ce6b6ef	0xc4259f29
-	0x470e90a9	0x7a254ff5	0x8dcbf841	0xa2541a7f
-	0x4880c5ea	0x28c750ea	0x043a0200	0xbeb9653c
-	0x46e354d1	0x64f7104e	0x05a64bf3	0x7db42752
-	0xbbd38c7b	0xca7da1d9	0x916c7ebf	0x1df5e3e1
-	0xef0897f5	0xd0456a5c	0x629b50a3	0x8caefdc3
-	0xddbf8b94	0xf6e6b341	0xd8ce3e02	0x27c96419
-	0xb2659ab5	0xe8d576df	0x9f136353	0x6f5230f5
-	0x68417adc	0x39b65378	0x4b742f21	0x96d071b1
-	0xeb046da9	0x245ecb46	0xc17eeec3	0xd7c56615
-	0x07df9b8c	0x647ee4f4	0xf15f7e7b	0x825b87eb
-	0xdc67dd20	0x43c38867	0x977868ca	0x3a299ef2
-	0xa75073f7	0x2dcd59e6	0xc6c78c75	0x63a00767
-	0x74dfba2d	0x7880c7da	0x83f72bc6	0xa9750166
-	0x716b3abe	0xc949a1ea	0x7e5fc036	0x574ee475
-	0x39c3cae9	0x8c1dacdb	0x640fcc41	0xc69437e8
-	0x5d33a950	0xa28e483a	0x4031cf9b	0x0007e3be
-	0x6e3f277f	0xe25d3025	0xdcbc4a0a	0x7451a537
-	0xb372169f	0x21ff0e91	0x1978aa74	0x6471624e
-	0x01a03f20	0xeb391a3c	0x70d18ad5	0x47c9ddcf
-	0xd9415b2f	0xd9ea29ce	0xffa0677e	0xeff7a04d
-	0x1d384ff4	0x66195704	0x22736810	0xad754f27
-	0x782ae9bb	0xffed05b6	0x5ae3f21d	0x5eb2c577
-	0x0101cf91	0xed0322ad	0x56ac50c8	0xc513b1c6
-	0x4f62ba8b	0xbaffd6b6	0x6649baa2	0x8702464e
-	0x78947007	0xd6e97d6e	0xde7c6abf	0x2bdee498
-	0xcee1db1a	0xb98149de	0x47f32f5c	0xc6c354fc
-	0x6e148fad	0xb343cf2f	0xeac6a9f0	0x33dd1560
-	0x923403bb	0x87d6e292	0x0b1cf653	0xe8b76402
-	0x5f21a955	0x236dec28	0x214663fd	0x1917539e
-	0x3f11ce80	0x1bb35a2c	0x38a358f1	0x15f67224
-	0xc65394f9	0x63cd4887	0xe8e73d2b	0x51b6204a
-	0x8eeae8f5	0x6e071c8f	0x55c23dca	0x4862eaee
-	0x0afa0037	0xc98446f3	0x09181a1c	0x41e46e02
-	0xcf13d6b9	0x85907776	0x30116b18	0x27b8c7b1
-	0xd153a5ce	0xc95c90b2	0x34392718	0x8103dbe4
-	0xe012a7be	0x6aeb8c6a	0x5bbaddbe	0x221eab21
-	0xaf769239	0x2621a689	0xe8c41061	0x5890f76b
-	0x2c4dadd4	0x2ad2e669	0x394209b5	0xb272b2ef
-	0x560031cb	0x4ab7be9c	0xcc5e92e4	0xc0de0667
-	0x7a39cf63	0x03482c6e	0xd653de11	0xe14466e1
-	0xf2dbaf25	0xc34d1c0c	0x03eeb3e3	0x8260874f
-	0xf6e2ef37	0x13626fba	0x15b7efe4	0x069cd153
-	0xbf631788	0x797668a9	0x724d831a	0x0ceeb589
-	0x9559cd31	0xb995d2d2	0x7564c4ef	0xfc45a3dc
-	0x1cd999e3	0xbe090229	0xab4f9383	0x879156a0
-	0x06e1d37b	0x3796487a	0xaf1e3884	0x1f9a59ef
-	0x6c2d8a7b	0x0a8a5ffc	0x4cd60f03	0xa60bfc63
-	0xf67c6872	0xf19b75cf	0x041cc864	0xc563566f
-	0x58ae88a0	0x3747b0c1	0x64cd86fa	0xed185c5a
-	0xb71533c9	0xf15672fa	0x2722d209	0xb71ec7d7
-	0x3143a8a5	0x61c18934	0x3a899ec5	0x4274f336
-	0xea7c52a9	0x9193cd11	0x44c471e7	0x57fff360
-	0x53923783	0x76d57ce6	0xbff32513	0x4dbe0d39
-	0xb9f80483	0x62ce4d25	0x5941e9fb	0x7dfedfe1
-	0xa33f9130	0x336e6539	0x1de31e79	0xb6855a41
-	0x4db2db67	0x02a9f1ed	0x019bcf20	0x53ad0ce3
-	0x4d049f95	0xa9de2c6f	0xa26f6997	0x28eafacb
-	0xa5220548	0xb4675e1b	0xe776ee88	0xc93e6c37
-	0x7868630d	0x1690625e	0x6eba0fd4	0x78f598ff
-	0x113fa1b7	0xcb025590	0x2ee34123	0x92241df5
-	0x6edbf0b2	0x3bc2e0a7	0x710ce59f	0x656f0eb7
-	0xa598424e	0xeca53268	0xb6a44542	0x5bf6674f
-	0xad483960	0x35290b93	0xfba74c81	0x78141ea2
-	0xd6baf9e7	0x8e5a08e6	0x4910c5b0	0x7b140d21
-	0x1958c79e	0x0dbed125	0xcfbe41dc	0x089fc4ab
-	0xbf014fa7	0xff961610	0x7a2ae6c3	0x560d3a9c
-	0x2cd77620	0x3a7c15cb	0x9464d8f1	0x249a93ff
-	0x96fe6c56	0x7231a31c	0x4bcdadd7	0x62edd9f4
-	0x8ad1916c	0x3a5fbc8d	0x2a2ccd7a	0x558980b1
-	0xb0137cfa	0x3cae6929	0x587c349c	0xbcfee701
-	0xbddd49df	0xa0da6dbe	0x4cb03dac	0x5f84ba2d
-	0x7fb3063c	0x66de2150	0xbf7dbcf2	0x1c0892aa
-	0x4be8b0ae	0x5d9845ab	0xa21455af	0xc42f2e68
-	0x9b6f438f	0x5eaf4941	0xabbf9079	0x94984a47
-	0x542bdea4	0x34cf3d67	0x854010a4	0xf39a9b19
-	0xd25ffb6a	0x04364e75	0x0af97ef8	0xe10e3620
-	0x2184d002	0x0c0ca683	0xc19963c6	0x4c428d15
-	0x47ae4151	0xd11ea57c	0x437a9ed6	0x50a6b8a2
-	0x141b16e9	0xeb4ae873	0xb51180fa	0xe3dc318d
-	0x7744a06f	0x64d297d2	0x845fac66	0x5854d172
-	0xc14dbe9d	0xccba053f	0x4620a715	0x405d728f
-	0x28b86cec	0xcba09cdc	0x92823f94	0xeae2664c
-	0x48eda6ae	0x4b60f5f6	0x1772f309	0x8af285bf
-	0x9c3ae474	0x13149ebf	0x2bc835c2	0xafcaa560
-	0xc11b6f91	0x94861d9a	0x089c0d82	0x1e04d66d
-	0xf0e497fb	0x6b2d8b6a	0x9d7f0cae	0x4a93ba71
-	0x1c006123	0xed4b5f75	0x76e7826d	0x4f884ba9
-	0xbba28011	0x1e275278	0xfa72461d	0x7e70e215
-	0x1427ba3c	0x467e4f3c	0x781c5f92	0x357b7951
-	0x9de2cce4	0x524a0de6	0x12e15f95	0x7b64fae0
-	0xf27e93cf	0xc6f48158	0x9b71dbd6	0x081dc1b3
-	0x47c9c2c8	0xf110add7	0x7881b556	0x0404bf1c
-	0x58e7d936	0x04442173	0xe1e7f0cc	0x128ce897
-	0x169c0a11	0xf30b5575	0xf2ac0bab	0x91515620
-	0xe8b809b0	0x2a73d5a0	0x9ed32dae	0xcf943a47
-	0xfc157bf9	0x1a53054d	0xf0657e2f	0xf39f6ea7
-	0x92a5834a	0xcdca0c13	0x40a7b40e	0xba0e0cdd
-	0x72f595c3	0x6b7eeaf3	0x4d0fd8ed	0x9a856082
-	0xd75402c8	0xe0f8d3b9	0xee57a2a5	0xe1ccf4a7
-	0xa4fc4fa6	0x9f2407c7	0x75f94c0e	0xbf2361de
-	0x2d3b4782	0x72c35e50	0xb97f7d4e	0xbc880223
-	0xb0b24073	0x08931201	0x40e0d18b	0x559db40c
-	0x6216a921	0x031a379c	0x29bff1ac	0x1c522c12
-	0x583bfe94	0x2519ba2a	0xd691d08e	0x905dc62f
-	0x43b421b0	0xd45caaa0	0x5f099da2	0x012fc4a5
-	0x509712b3	0x67e5d441	0xc843de50	0x7e1c756f
-	0x91368900	0xc6ec0dd4	0xa41e838f	0x58eabda5
-	0xd6ad78a9	0xa037b655	0x8af4e767	0xa9b95900
-	0xdcf1780e	0x64e28d82	0x215ad981	0x292dfcc3
-	0x708d8557	0x0a507562	0x486022ad	0x8165bc7e
-	0xabffce1d	0x78fbe480	0x77b916f6	0x88f8167d
-	0xae8b8edb	0x62698ab6	0xdbc6bbbd	0x001819a6
-	0x8c096fb3	0x40a121e9	0x7b96a718	0xf6d256ed
-	0xe5c0a484	0xa09bd764	0x6552b5a2	0x1847ae3f
-	0x0669a650	0xccabc209	0x85246d20	0x61158f3c
-	0x379d8086	0x02135988	0x1eccc6db	0xf8f38c67
-	0x8e1b0f3d	0x0f6e87e5	0x936bbb84	0xe04839eb
-	0xe26b3e5c	0x3f35ffda	0x4920e752	0x014c876a
-	0x25189061	0xbe2bc4ec	0xbb2ca0f2	0xe2c1c9b0
-	0x747df643	0x26da8dbd	0xdacc3c8a	0x7d93b22a
-	0x922d9a0a	0xf82d65b6	0xd56e5f35	0x7aea7534
-	0xf1808648	0xdfa7ec9a	0xff00f8c6	0x69091da7
-	0xbb478c83	0x64e24ae6	0xf2371faf	0xcff5732a
-	0x4da88e73	0x9c8494df	0x4c0da767	0x3e22bd67
-	0x059298eb	0x9d7611ce	0x74b4a198	0xbcbe440c
-	0xe2bb1a9f	0x0ba3e5f7	0x65a5cf9c	0x8b24b6f4
-	0x7784ca5c	0x24ffc234	0xece71bbd	0x36f8e876
-	0x1b55d68b	0x2b9163a5	0xaf8be424	0x958eeaef
-	0x5d711c41	0x66d11cbe	0xfce42868	0x4a3c819c
-	0xf66d295c	0x629402f7	0x64b2ee3d	0xc0b74538
-	0xe93a735d	0x3b9e807f	0xd1d0d7c8	0x69588f34
-	0xae92b6fe	0xf5508d03	0x45b6ccd6	0xf85a18c6
-	0xe1a28a53	0x438f9a35	0xf4fe84dd	0xe3f95791
-	0x16860340	0xefe72aee	0xb13575c6	0x3d730481
-	0x3cf2a43e	0xa6ed239e	0xd7529176	0x8ad63f3f
-	0x5efe8f4d	0xe9cad7df	0x44fefef4	0xc7198f50
-	0x85aabf5c	0x15c175c2	0x26f7a0cf	0xf06782f0
-	0x4dfadfa7	0xbc57a087	0x21406f0b	0x692a8f18
-	0xd17a358b	0x19d1b2a6	0x6c35022e	0x87d8c987
-	0xe7f2d06c	0x91c4daa6	0x4a132822	0x1e864671
-	0x5cbf0c4d	0x6a34f073	0x1c87a8e5	0xb38f1717
-	0x1cac430b	0xf733ee6e	0xdf73201f	0x71026328
-	0xee976531	0x661c9d28	0xdeefcd7f	0xdefb4607
-	0xfca9ef3a	0x3e1b9b38	0xd204c892	0x6b059f5f
-	0xd5b8665f	0x4eec24fd	0x09b21b40	0x364c708c
-	0xebe0d543	0xc3d64eed	0x8facb895	0x8f415f31
-	0x3dd25b0b	0x95f4072e	0x85e6f4c1	0x3345e2a5
-	0xa56e8dcf	0x3ed8df67	0xa8194a81	0xafe613c7
-	0x384b25b9	0xe7661836	0x5ad6476d	0xeb0ae982
-	0x19afdf2f	0x4efb8658	0xff07e358	0x96c469d2
-	0xf3030add	0xf5bf5b51	0xba03b24c	0xcb77143f
-	0x134fba20	0xa126558a	0x193cd220	0x48f43727
-	0x156f2b18	0x4e599917	0xc3ac4eac	0xcc460648
-	0x67974a2a	0xe2917a7a	0x02998a74	0x470c60d1
-	0xbacbc868	0xfef38d84	0x3e4597a9	0xa1723ab7
-	0x8ffed7b2	0xe489b151	0x34b982fa	0xf67bf8ce
-	0x043cbb33	0xe3927c98	0x3c8fb221	0xbff0644a
-	0x886d333c	0x1f4cd6b7	0xe9b744f0	0x443ef364
-	0x04847d65	0xf3c2ba04	0x60a8e656	0xab4dca06
-	0x620dbf22	0x5b0221e5	0x877973ab	0x128b5a6a
-	0x4696b5d7	0x8f034e85	0x18796215	0x8579ec7c
-	0xf8917eae	0xa98bffce	0xfc67e9de	0xa897445e
-	0x2f115777	0x990bfb90	0x1de53f71	0xfa2e5c1f
-	0x24a5b882	0x0f871a5b	0xe7fc33a0	0x6927a106
-	0xb210bc90	0x2ef851de	0x09629147	0x2553882d
-	0x77393353	0xeacf977e	0x470198f7	0xb7564a05
-	0x4d575fb4	0x1d980371	0x0feeebba	0x26ba3c12
-	0x17b21567	0xfb664d1d	0xcee1a603	0xa8881580
-	0x8a47e853	0x6511027f	0x734f6fd7	0x2977b345
-	0x7465e47c	0x0e3c4c8c	0x3185ac04	0x2450ea5d
-	0xa6e97dba	0xf52b2f4b	0x328ac24f	0x5a507ad2
-	0xac05d4f7	0xca332e1e	0x44b6cdd5	0xe22b049b
-	0x55b885d1	0x71144ba1	0xf57284d9	0x76cb0900
-	0x8266cfae	0x82bb0271	0xfe547080	0x53e4dac9
-	0x0546dcb9	0xa09a8de0	0xd55d15a9	0x7a3a96ad
-	0xd23c33ed	0x7a8fa769	0xa0542b10	0xdaf92f2c
-	0xd6433b0e	0xad7cf7b9	0x72c54814	0x38ff5c07
-	0xddee72d7	0x6c29582d	0xa1574da8	0x418272ea
-	0x0a9e21f3	0xa34bb5ea	0x1e78630b	0x9238d5d2
-	0x7cfa682f	0x6e8e841b	0xa4b3d17d	0x70b6d075
-	0x704db3f8	0x76aa7d19	0x1cd3e85b	0x2ae7fa63
-	0x5ff0dad0	0xdd92c129	0xce7d884a	0xa7ba03ab
-	0x3b366560	0xfeaf75c5	0xd08856c3	0x01ffbced
-	0x089aa8a3	0x2e4b36f1	0x03955648	0x882468ba
-	0x534abc87	0x28c08402	0xa7512f6a	0x1fab044e
-	0x6595e159	0x92fdef27	0xa0b6093a	0x5fdb5f3e
-	0xd0facb7d	0x512a8b83	0xd7f31adc	0x82166318
-	0xf9ad7f02	0x9120b349	0xab744947	0x2787d6bf
-	0x489e3546	0x02a7ce3b	0xd3812409	0x819a092d
-	0x94a48db8	0x49d8dff3	0xdd4e9b5f	0x330d32d0
-	0x203cad0d	0xace20075	0xfd019f42	0x1cc56871
-	0xe53e452b	0x51e7c9e6	0x1d6732c7	0x03694ca7
-	0x900ecdb4	0x3251d119	0x2c4a0669	0x3243bb5e
-	0xb434326f	0xd6eb26b8	0x8ceb7328	0xff30d7e3
-	0x861fa43d	0x15386557	0x3fa11d24	0x86590299
-	0xc3cbd319	0x8d1031a5	0x80db9f63	0x9d957321
-	0xdec927f4	0x1468a2a1	0xff1b8842	0x4c403eed
-	0x62140459	0x912ddd25	0x36252404	0x49052d26
-	0x22205558	0x53773ca0	0x3428d400	0x51002834
-	0x6b5baa18	0x838bcf14	0x30d09ce0	0xf1c456bd
-	0xb1fc90c1	0x525dbb0f	0x64a9105e	0xe0a5cc89
-	0x293f2441	0x335b1c7d	0x55842eff	0x6c7f60dc
-	0x903fd793	0x868589ef	0x50a596a6	0x337c6988
-	0xb7a670a9	0xa46b1a8d	0xdf8c013c	0x3dcdfd02
-	0x01075847	0x06c3a7e6	0xc8f22594	0xfcd94f04
-	0x8b6ddbbb	0x5a138f6a	0xf43d2cca	0xcf4df232
-	0x088cddf4	0x9adce26d	0xee803f2c	0xedf042d5
-	0x7d738c39	0x8f02cc34	0x3f964043	0xbfae17d7
-	0x5f2dd670	0x177a9f36	0xf0e1dc28	0x07082ed9
-	0x90534419	0xf03db66a	0xb8ccbbbf	0x739d2ae4
-	0x3509b32d	0xf0105125	0x2d603572	0xbd1a6b64
-	0x50959fe9	0x26100668	0x758e250c	0x9b372d1b
-	0x0f1e1bde	0xd53edd46	0x0187d6e6	0xd0158da6
-	0x05dd0922	0x3fc0a182	0xd7f70ebd	0xeeda22e1
-	0x1c7f99ad	0x9b39bee9	0xf101d67c	0x1ffea21d
-	0x5494b799	0x787a77ca	0xe8908c34	0xdd00d1db
-	0x25e21bcc	0x30bf0b70	0xd8cd0350	0x96f2d414
-	0xa9a4cb6d	0xa3f3c207	0x2db5c7bf	0x88e8837b
-	0xb157189a	0xb9fb869e	0x48c2a7b3	0xf5e0c692
-	0xf9103c12	0x6c590e9a	0x7e0aac34	0x97392b87
-	0x8e6c201b	0xc6d68ddb	0xb5fbaf0a	0x1f8e411f
-	0x6355e9d9	0x05fcca55	0x9b0250dc	0xec9c5d7d
-	0x668075bd	0xb93078f1	0xcefa1755	0x216c5e0c
-	0xa83ae6b5	0x748bff79	0xfee9e797	0xc6acb230
-	0x1243bc06	0xfee350e0	0x3ee5f8e0	0x0508fb60
-	0x87d9d24d	0x0b54ac94	0xfc37c8fc	0xe9958f2f
-	0x3a927f73	0x04933b6a	0xa195a6dd	0xda96dca3
-	0x9c1799c4	0xd055fc63	0x05deebbd	0x2b5400fb
-	0xf157f110	0x80b1e79a	0xd7f1e4b7	0x5a1fab0d
-	0xbaaa81c3	0xa42489e8	0x594a791a	0x29f18382
-	0xe86f0358	0x5aa5f4b0	0xa682993b	0xedbfc5b7
-	0xf1eac55d	0x9b1716bc	0x907d9d1e	0xb2205254
-	0x4fbba0f3	0xacea63a4	0xc518d83b	0x8449fef8
-	0x80b4f69b	0x95dc7429	0x16c22c9b	0x6e116239
-	0x4c4bfd11	0x56f159fa	0x60cbb0a5	0xa2f4721f
-	0xa829cf9b	0x5ddbb3af	0x2db824cf	0xe82f3fd1
-	0xe5dcb2db	0x185fe7af	0x0775003d	0x38669aba
-	0x7b540eea	0x94ce3d10	0xba77f357	0x63507853
-	0xb50ebb0c	0xb614739b	0xea3a3c47	0xf2b6176a
-	0xf805b28d	0xdd0819b7	0x9f4b2799	0x18bdadb8
-	0x7d58d588	0xc4f0994a	0xef834870	0xef2d6ce4
-	0x97a36a52	0xb6e581e6	0xddd9aa9b	0x6437d4e8
-	0x43f74dc5	0x8cbbd744	0xf394a2a0	0x4a1e7f75
-	0x395bd36f	0x27a8f9e9	0xed62f4a5	0x7c2f0484
-	0xf394f837	0x5f69d50e	0x86ef57af	0x7af052f0
-	0x85dee180	0x125f56fa	0x87291494	0x141931ac
-	0xabca9ae0	0xbc1e4e4d	0x541e2edf	0xa3551bb4
-	0xed2766fd	0xf6e778c2	0x3a82644f	0x67c47659
-	0xb81b826c	0xb11603ee	0xba6cc507	0x691fdb74
-	0x06507f6e	0x64ef2a0f	0xebd9b51d	0xee620487
-	0x82991d7c	0x1493fed5	0x08af819e	0x7066de45
-	0xdeee1600	0xde12b903	0xe572ced5	0x81b897be
-	0x458d0db8	0xc9970232	0x7402dd05	0x44e1c70c
-	0x1619441f	0x9ea0c392	0x1d13c3dc	0x34737cbb
-	0xe1d726e1	0xbe7d749d	0x304892a5	0x71c7bb33
-	0x608bb696	0xd334cfd7	0x862e360e	0x868757ad
-	0xb7d8aa70	0x81031f5e	0xdb64b80c	0x954ff4c1
-	0x5c66d432	0x08c77a67	0xd5e298af	0xb6074be1
-	0xd687a163	0xac2fd525	0x14e6ab5a	0x6ca4232d
-	0x8a921092	0x0a19e936	0xd4464ee4	0x0da28777
-	0x6b6d4131	0x975111bc	0x3f26afae	0x5a6faf38
-	0x867d7956	0x554aa8be	0xf9898211	0x3afcde65
-	0x493dac6c	0x61d901b2	0xbaf3e9fe	0x2a3758fa
-	0xc2ad3ee4	0x97d13dad	0xe84b02f9	0xaaf5ca63
-	0x41a94864	0x6d7b71be	0xd843e866	0x83c3193b
-	0x972d4bbf	0x55c3a234	0x0d03b540	0x53396a64
-	0x98b5c0f3	0x36708484	0x38363c7a	0x0076dbf8
-	0x5edbd01a	0xf6e835d6	0xccb95e4f	0x2bd2907e
-	0x210f9312	0xf4ec9221	0x343697d6	0x3913cd41
-	0xb02ced20	0xba991ee5	0x09c7893c	0x749da3c0
-	0x46e5ad3b	0x871b685d	0x02358659	0xca76706d
-	0xe61524a2	0xf46ac4a9	0x4f6c9e19	0x68a86d0c
-	0x9d16bc4f	0xa9157a1f	0x830993b8	0x3738896c
-	0x7c821db5	0x02de8542	0xb17e3767	0x455a0b40
-	0x19b707eb	0xed81e63d	0x568e1e36	0xbf5cee00
-	0xaa12957f	0x67f65ecd	0xb940789c	0x0ab3bab8
-	0xd7e3a789	0x777b64ba	0x4e00d3be	0x46887a34
-	0x08f0127f	0xf5027e8f	0x9cdb4671	0xb7a7eac4
-	0x9be5cfb5	0xb1f57dbd	0xbce97b11	0x41525f56
-	0x5e847d16	0xf71585b3	0x1ce5047b	0x1bc2fa00
-	0x860aa4ca	0xf97ee77d	0xe7843ee6	0xf07bd865
-	0xfa059452	0x58a59ce9	0x24f03b1b	0xd18a52c2
-	0x180426ab	0x2ced0003	0x399234cd	0xe43f91e9
-	0xa0516a92	0x8088d598	0xc3a41365	0xd1f044ef
-	0xfb3808f9	0x1770e594	0xf96c4185	0xc6b67b9f
-	0x5c01c703	0x65c6ef8d	0xd49310f3	0x0f962bd1
-	0xfb3c96f1	0x4d501516	0xa09beeb5	0xce9df639
-	0xf792c71f	0x392b420d	0xc03c9099	0xcab5dc42
-	0xbdfea308	0x84c80c32	0xcd66ec3f	0x68932191
-	0x62b69b08	0xcacb4a8b	0x0415feff	0x84673edf
-	0xe61b5ff3	0x6107a18e	0x6a7a206b	0xed64aa34
-	0x1bbaef36	0x22a3f0fa	0xb0945c72	0xd1a7f7f8
-	0x65fd1b29	0xa34d99a9	0xb6f2ea53	0x055ab055
-	0x433c3eb2	0xe591d68b	0xcabb8a71	0xfb055c2e
-	0x37e1efec	0x558fd45e	0xa5358766	0xe0c450f3
-	0x78ed3061	0x8713e084	0x4b0d2ec4	0x24feb10e
-	0x6689fc4e	0x0c83f1c9	0x7490df57	0x00d618bc
-	0x2c510caa	0xc5e2838a	0xcfae6669	0xdc2fa4b0
-	0xa4569e3e	0xcee095c4	0xcb5f42ee	0xdc11393f
-	0x69f1c5aa	0xa495fae6	0x64c53ea4	0x4477aeb8
-	0x2ff43cef	0x660aa186	0x5dec9e67	0xa59f6aab
-	0x51504061	0x28279b5a	0x4e245278	0xdbf53c73
-	0x01a77ff9	0x7d771730	0xa8d19fc6	0xce3697dd
-	0xecc405d8	0x22f1872a	0x683afa3f	0x725f7e03
-	0x14c7acb2	0x845efb20	0xf3e03095	0x8c9a7d04
-	0xa9f115d3	0xb93fa8ef	0xd2e78a32	0x91e3cc61
-	0x805d48de	0xc9fcc672	0x225d36f0	0xb32e7627
-	0x11b7a585	0xa7321798	0x9b40640f	0x0c3a6b7f
-	0x3337c762	0xbbe54bb3	0xc8316a84	0x0d487a67
-	0xa6d6b86b	0xd1fb2b92	0x15805dfe	0x5cd49b21
-	0x9855f2c2	0x74e2a195	0xbdc0729f	0x29f680a9
-	0x092f47ad	0x0e7091d1	0x6e7d2020	0x0a7b5d47
-	0xc9c4065b	0xc4cacd97	0xcd7b4071	0x7986cc7a
-	0xb1c29ef5	0x47ced57d	0xc08a8b40	0x12102685
-	0x685caae1	0x1ebf3635	0xdfe6af15	0x8a0496f4
-	0xb9c07f19	0x1f62a68f	0x0133de0a	0x993017d9
-	0xd0553b5c	0x0c8f1311	0x7d979028	0x6001db26
-	0x1caf7ffd	0x76ced0cf	0xc33d3f23	0x9fc27423
-	0x235fc137	0xf85a079b	0x78174474	0x1d15b725
-	0x20162abf	0x62e0712d	0xa03f9cf0	0x0f4ff140
-	0xaa389d0d	0xd58e1171	0x8f5d21f4	0x3ad5b3c4
-	0x03003b51	0x49b29d4f	0xa3d82796	0x9c7f3391
-	0xe34de3a8	0xab75e6f4	0x3f06b52d	0xb8092f83
-	0x01f14341	0x929a3b8a	0xa630aa03	0x4b7e055e
-	0x90b06e58	0xeaf2ad79	0xe8c5b756	0xf46f44e3
-	0x6693ff09	0x499d2790	0xd0d81c69	0x72d7a2bd
-	0x794d242b	0x9be19084	0xddd51a72	0xf4f60698
-	0xd1747d6a	0x24dc87dd	0x78ba7af6	0x548b43d0
-	0xa2b03ee8	0x100ef53b	0xe836488a	0xf4b9a443
-	0x41d61bdc	0xee4bedb1	0x8f0ec0b0	0xc0125983
-	0xaa919a7f	0x6677db37	0x78e7d366	0xc7bef834
-	0x967a54e7	0x5f78951a	0xc0fddf1f	0xbd5cf29a
-	0x3fa13be8	0xca67a695	0xc13e8c23	0xaff54342
-	0x94f4bc22	0x85512c06	0x1439cd71	0x7d13b7b5
-	0x76f8bd59	0xffe02871	0xbd88ccb1	0x2597d721
-	0x80a52e2e	0x1f696120	0x689e73aa	0x7d085fa0
-	0x0e183650	0xe041d3fb	0x5a340dd0	0x26a6c10c
-	0xe6fef6d0	0xdb18b3b8	0x2fc6df63	0xfa695c57
-	0xfb3e6a3a	0x64fb412f	0xc1cf1e32	0x6edd945f
-	0xcee44d66	0xdfb2ec8c	0x5eb84515	0x177f031b
-	0x56a9db8a	0x0e247577	0x99004862	0xa5805854
-	0x04b1afc9	0x9c649998	0x908a1424	0xb595099b
-	0xb91fb0ce	0x8c4bdd8a	0x78de806e	0x65ff3cba
-	0xb66aeda0	0xe22d3592	0x7c0cdebf	0xc15c0853
-	0x80f31d27	0x84dfc7ed	0xc96a5992	0x939b3d6c
-	0xf0ffac53	0xe4be269e	0x4d56d528	0xb0477318
-	0x40a4b528	0xd938f1bb	0x2b25a6c2	0xc93b3c9f
-	0x179c9571	0x999c2e91	0xe7280616	0xee6e0481
-	0xc30eae2a	0x7d6f0458	0x0b7a52ff	0xd44e0a23
-	0x81d661ee	0x9d0f857b	0xe7fa9d18	0xd499cb85
-	0x4e27e30a	0xd51d1f9a	0x14195d32	0xccca7d6e
-	0xc1703a6e	0x15664170	0x7f51c821	0xf1363619
-	0x37dc27f5	0x6aea6223	0xd574e44c	0x4b683223
-	0x4135ad1a	0x7694390a	0x0bf4bddf	0x9522f11b
-	0xc20797be	0x45fb151e	0x96f2a952	0xedfd5f2c
-	0xdfbcac7f	0x58f5dba6	0x68204d0d	0x52eeb34a
-	0x8313fd8b	0xda2f1243	0x195a1479	0x19bb2970
-	0x1c2131e5	0x6841c28c	0x1ec33cfd	0xd3e489de
-	0xd9b70b18	0x81503d32	0x9642a53e	0x02470015
-	0xb8d1087f	0x4b629e77	0xd7ec9ee0	0x795ffd91
-	0xcfa71aeb	0x4bae649a	0x7f768123	0x69f501d5
-	0x56c19a0c	0x4bfaac57	0x90ea664a	0x4d428e1a
-	0xaee71c90	0x198fc316	0x549f5572	0x07a22e58
-	0xe8f444e3	0xedc7fc23	0xe96c1595	0xc4bdad06
-	0x751a3df5	0x3bc4fba4	0x58cd19b3	0x3665000a
-	0xe4371d96	0x6c50d4e6	0x5d1d6a57	0xf130eabf
-	0x48fd82ad	0x42a8bee8	0x71f89c32	0x95fba6dc
-	0x9150b601	0x72c361b0	0x71a3c317	0x149614f9
-	0x224e67fa	0xf6a3fea9	0x5461cefa	0x367bc566
-	0x2226ee83	0xaa13e83f	0x8d7dc705	0x417c7afd
-	0x8a0f2e17	0xbb4003df	0xd1c27124	0xaaaede8d
-	0xd4ed5bcd	0xd0102aa8	0x3b519bfa	0xb82d6932
-	0x50b8f966	0xec685a1d	0xffb18b64	0x538955b2
-	0xac4b6cf1	0x0a86d32f	0x34e4cc05	0x02adcf17
-	0x7c80379f	0xcfb5bcb5	0x842190e7	0x8348cd1f
-	0xabf77742	0x3332866f	0xa56fb2e6	0x6c1fec47
-	0xf2fbb22c	0x7230d805	0xed17d8f5	0x3426e157
-	0x1d045cb2	0x6c1e349f	0x3a6116ca	0x4baf0bdb
-	0xab68daad	0xc4867466	0x7bb15fd9	0x707a6a1a
-	0x83157678	0x277cffd1	0x8d48e5d2	0xf829bd6d
-	0x1fd2750e	0xb6bb8854	0x66d0a20a	0x38f47b92
-	0xa3568b90	0x0d091e16	0x65a8245b	0x238e4299
-	0xd0bc6bbe	0x8ef67730	0xf976b632	0x326d9d24
-	0x96833335	0x1d475e95	0x1f8f41b6	0x65c9dabe
-	0x2133b931	0x43be592d	0xb887160c	0xf21fbfce
-	0xd83ca306	0xa0fb3fe7	0x7da09bf9	0x3f464aa6
-	0x37a7e40a	0xbb0c85bc	0xb172ff01	0xee62de6f
-	0x59d2d646	0x4262e938	0xcd96f5e3	0x0c1862cc
-	0x438388c7	0x9f45d4b2	0xc65ab0b0	0xd24a381c
-	0x1d6c6767	0xedaa1ae2	0xa93eaec0	0x662d776b
-	0x192a88c9	0x6c9d860d	0x61106181	0x30027db0
-	0xa5ae7b76	0x73fc43da	0xd77472b0	0xf4ceba3d
-	0x7cd642c6	0x903dd266	0xe33f58e9	0xbd088621
-	0x8e4c2c12	0xd8c4288e	0x24fdbb22	0xf72ee1f9
-	0xf291bd7e	0x94e68382	0xbbdd9240	0xb59602de
-	0x1b59afd0	0xe5417cf5	0x20bbb538	0xe28fdee3
-	0x0bb16920	0x77d6712a	0x1a0ae5f6	0x0156c43e
-	0x976b53c4	0xef856d7b	0x5a974cfe	0xec53404b
-	0xc627c557	0x3318542a	0x8fd883e6	0x508562b3
-	0xe0ab7501	0x9ae57262	0x95611b5e	0x50c699fd
-	0x984bb8ab	0x5983ed68	0x9947a7c5	0xc0d2374a
-	0xe0845ab6	0x9ffec0fe	0x41873bf5	0xc85c1a4c
-	0x7ef2b12d	0x9e1a3857	0x444da53d	0xb8947919
-	0x84c8588c	0x268f34e3	0x1974cf3d	0xfa67e03f
-	0xc4478570	0xc1896f5c	0xf86de14a	0x9d27ddb7
-	0x5da1c695	0x73c74ab7	0x9123a47b	0x1c9d9563
-	0x7b96bb9f	0x98d20464	0x1f46fd8d	0x4bc35857
-	0xc221a75f	0x04b24c86	0xbe1c7271	0x21a7b19a
-	0x9e050b54	0x8d93d0fb	0x98d7b55b	0xe5fe9502
-	0x9471bff8	0xb3825934	0x5f22d5b2	0x47f4ae9c
-	0x62d7623f	0xfdeef9b6	0x38c64ff3	0x9268fd7b
-	0xa7cfd22e	0x80eeed4c	0xf80a4a3e	0xc9a7e4f4
-	0x6f334b52	0x48e932a5	0xef8720eb	0xb9e86512
-	0xc4183682	0x08142405	0x0a32902d	0x34503fb5
-	0x4c7f132b	0x8db9be38	0x82c20236	0x80a79fa5
-	0x9a31e682	0xca61dd2c	0x2e354b63	0x8d5a4750
-	0x7a838960	0x24dffeb5	0xc7d19837	0xebfbc508
-	0x82e8dbdb	0xe732eaf4	0x109470c1	0xb012af6e
-	0xe2ce17be	0x79db33be	0x281184f3	0xc813df9d
-	0x9e6a771f	0x4a81882c	0xda5baf2c	0xfecbbb6b
-	0x4621a151	0xf4cece92	0xfc230416	0x8d4e758e
-	0xf69c296c	0x9fa2490a	0xeaa56785	0x3075ed95
-	0x4c2ffe06	0x817caf32	0x5a72f33a	0xc6d99da3
-	0x2bbc3dde	0xade463f7	0xb74af1a3	0x738d809d
-	0xd244aeaa	0x7302a2db	0xcb6e9b1d	0xe297c027
-	0x15dbaff6	0xce99c273	0x2810eb0e	0xafbe1f09
-	0xd316d8ba	0x27b8af19	0xb66bdf45	0x3e3b5fbe
-	0x318a4f05	0x2ea7807b	0xed6d40a0	0x58ba8267
-	0x1d1c9d15	0x29af51cd	0x04a46683	0x4b759694
-	0x20ce21e6	0x19ef8036	0x141a8064	0xca36f583
-	0x6d47da5f	0x3a8f6b9a	0x70a99a79	0x03677150
-	0x0feb8c70	0xf3509842	0xf33b5dde	0xbef320a3
-	0x932f9512	0x87497bf0	0xf521a0c8	0xa813483b
-	0xcd6fae43	0xbb7e4dce	0xc7d039b3	0x2d1e6f8b
-	0x1b19cb9e	0x8341c193	0xeffde49d	0x4c40621b
-	0x19d60210	0x8846c540	0xea735ec0	0x0c995dbd
-	0x9aefe2f3	0xbd46f954	0x9b315f98	0x2819307e
-	0xebe2c1f5	0x05919533	0xa52921ee	0xa0bd6746
-	0xd754f5d1	0x39eb2ce6	0x8442d51e	0xb1f75159
-	0x1b617cd1	0x046fc90a	0x6452daca	0xe8d3e3e1
-	0x77406387	0xe3ffbfca	0x89387e91	0x7e348a53
-	0xa5bd3b60	0xc113e95f	0x2ad5a7c4	0x45c1f445
-	0x2a683930	0x3428246c	0x4b89cf6b	0x05e66b1a
-	0x571737eb	0x6e55a8e1	0xbc96ce28	0x24d501f3
-	0x242c8191	0xde8c9472	0xbff946e4	0x551b5759
-	0x411e3420	0x0f0b9299	0x44aaaf70	0xacf2f3df
-	0xe9c44a27	0x781ffdce	0xa39651a5	0xdb7b44a5
-	0xed0ec4d9	0xec17fca2	0xd3ccb15f	0x2b9bd010
-	0x0446a9ef	0x18df586c	0xe227ae08	0xbbaff527
-	0x7958fb15	0x03bfc823	0xc09b7b6b	0xce07b0b3
-	0x0161a359	0x8e21f733	0x8f8168bf	0xc1e2207e
-	0xf9f65e93	0x831b4ba8	0x4b3677f9	0xf8342d03
-	0x03c10268	0xd07233c1	0x0df67d97	0x72434732
-	0x059c7679	0x96526a88	0xb54f9440	0x19e7327f
-	0x6f7f52c1	0xb4b8d069	0xcc4681eb	0x26ea581b
-	0xc26fe16e	0x4073cc56	0x6d252a42	0x689fd0fd
-	0x5d93f1b3	0x070ad283	0xa07cb95b	0x6effe0d1
-	0xe303ed01	0xb8e9b3f4	0x0721647a	0x31f877c6
-	0x134518e5	0x08694d5a	0xb0e6ef3b	0xc7fdc67e
-	0x6111276e	0x45185e0a	0xe13cb5c7	0x7c6ec9e9
-	0xfdee9721	0xc1fb8bcc	0xe25a2bc1	0x075f717e
-	0xd37b7698	0xa9cbfeae	0x6b7d0a28	0x1f1c8bdf
-	0x35d0e6b2	0x8b988b79	0x54f02ea3	0x3426ae01
-	0x5e402b08	0x840d3b8e	0x221527ff	0x906a86f8
-	0x411ce6dc	0xe4b3056e	0x26c9ed04	0xf3d8bc97
-	0x3b02cf67	0x11309c45	0x06ea08bd	0x1c698922
-	0x04e1e492	0x06e0c39d	0xed2937ab	0x83f1911b
-	0x25a94599	0x75d365f0	0x98f191e9	0x845f5e0f
-	0x49547aa4	0x42a0ae2e	0xb7e77fb7	0xe132bfb9
-	0x1cc087a2	0xb0435a85	0x4818ee36	0x4cd90b16
-	0xf56d5e22	0xdc49137b	0xb5f16e70	0x8f8ac784
-	0x84b020c7	0x83c26ace	0x090b3489	0xde14f529
-	0x6ee716ba	0x9deabba1	0x2c230ded	0xd6a68037
-	0xe626043f	0x33431885	0xd26423e7	0xcf259f47
-	0x335dfa6d	0xf052f836	0xcadf2fa5	0x6f2125d9
-	0xafbb23bf	0x19ec69ba	0x84d10bad	0x8cd3ebd5
-	0x36f0fbb1	0xbc1cbfbe	0x96c56812	0x0b05c939
-	0xbd79989d	0xffe74b98	0x6f99405a	0x9f10b14c
-	0x9d8efef4	0x299d21b5	0x9dd2df5a	0xc7ea511b
-	0xbdde106f	0xe5dc7d17	0xee136bc7	0xc4521b6b
-	0x823d31d0	0xcc3c32eb	0xb35ffb33	0x84dd8acd
-	0xe8ddf3d6	0x4611888c	0xfe469f52	0xf8e18215
-	0x768747f0	0x86379e46	0xd3cf9eb7	0x86f1e47d
-	0x30e68652	0x740203fe	0x1031b14e	0x96ce6827
-	0x45f57455	0xe41b7656	0xaa8496d3	0xb99701d0
-	0x485f88ed	0x1d064ef7	0xc7e3348e	0x110d938f
-	0x0c3c9604	0x786b0b35	0x2b2aa6ad	0xdcc45e0b
-	0xe9b29146	0xdbb00ed2	0x0527d574	0xc8029ff1
-	0x5699dfd0	0xd627ff70	0x285fb3d8	0xcf2e6b75
-	0xefad87da	0x4fa21893	0xa391388c	0x5760b28e
-	0x41a95b55	0x82001638	0x6f0e2d45	0xd30f70aa
-	0x5eca612f	0x946317f4	0x24c44ef7	0x470d26f2
-	0xf7e65ef4	0x3a831857	0x53c5699e	0x1af6ff3f
-	0x675b46c3	0x1bd5cfbb	0x03ab61be	0xa67a2b7b
-	0xbae16286	0xe1522d53	0x076d8ec2	0x3a603daa
-	0x0dbacfd9	0xd32acae8	0xe8a23399	0xdf3330bf
-	0xe990c05d	0xfe56bcc3	0x165f868a	0xdf42a220
-	0x6587e194	0x0a31eb94	0xa72a98fb	0x5512801d
-	0xc5fd9c69	0xf7210367	0xcc80f30c	0xc08755bc
-	0x3afe8202	0xc47d603e	0xd17d2990	0xa4addd73
-	0xce89fcc5	0x55726cbd	0xeeb77a64	0x628b3d1c
-	0x2297e332	0x6ecab8e4	0x9739c0d1	0xd53d619c
-	0xbf1a3371	0xe29ea297	0x140436d5	0xfa4802f8
-	0x1b277664	0x4f101407	0xde441685	0x1d36bbf4
-	0x057d9f25	0x7949dbc2	0x57686ffc	0x12984cb7
-	0x0721d76b	0x81ac7aac	0xeb40577c	0x43aaa8d4
-	0xb4e06e63	0x7054a526	0x18bced57	0xa37d26a0
-	0xac039a34	0x156e6d9f	0x07ae4487	0x0e59f4db
-	0x28aeb416	0xc1c4dafd	0xe0357fef	0x683adca7
-	0x93f2d62b	0x8f1f6ec6	0xd42fcbd8	0xfc4e3fad
-	0x082e4bbe	0x578bdbee	0x42dcda04	0x7684e947
-	0x20853da1	0x207dd044	0x56e372bb	0x5ef4c033
-	0x83353865	0xb3b42465	0xb80c9c79	0xffedbed0
-	0x09e45d5b	0x794fe5c7	0x498d4fbd	0xb1cd7a48
-	0xfc89b057	0xc1d19df8	0x9654d056	0xc94cd085
-	0xd7cb03b5	0x13a52c5b	0x52471fd3	0x990aaebe
-	0xe8bed6a7	0xa6960d01	0x68011da1	0x021bf151
-	0xaaa196f2	0x9e3b6188	0xbb28f2c5	0x559d3dd2
-	0xc38861b2	0xfd7242b1	0x716c29e2	0x270236a9
-	0xaaf33479	0x610a7d76	0xc0d564fc	0xf0bb1bd8
-	0x31fb232b	0xf19ebb3f	0xd62acd99	0x5e45578e
-	0x467c587f	0x0ac00140	0x9c7c1705	0x61a8a1ea
-	0x4c5e4e5d	0x0e0d846c	0xd199939c	0xb4c615ae
-	0x4cfe60cd	0x6b4e5cf4	0xe97ad9ec	0xf325a456
-	0x6ca45a64	0xb88b4506	0x9f751f49	0x1d66e330
-	0x59b40444	0x00f530b0	0x9242124d	0xac6de2f9
-	0x7b7e7a67	0x64962ed3	0xfd0825bc	0xbdbcc113
-	0x38d8d589	0x3cedb53e	0x17d95495	0x020b8ac2
-	0xe9aa9bdf	0x0a5a2820	0x64670635	0x91a2a89e
-	0x91bec6be	0xe9b4f902	0x1ef88ee7	0xec6e1208
-	0x149e39ca	0xb140ce3b	0x3210a2a7	0x8e489c45
-	0x59d3ebad	0x30275658	0xc20708d2	0xffdc3e00
-	0x96c700b8	0x3d03aea6	0xf0ce7ad3	0x232a5585
-	0xb0dc6620	0x1c1357b3	0xfb4c6d29	0xe5c5b7b7
-	0xc4bfe2aa	0x37f7ce13	0x433eb884	0x3dde220f
-	0xc1c34602	0xea700f6f	0x37b79490	0xad5761a3
-	0xfc5917b1	0x22f7e1be	0xa90566d8	0x89e9db15
-	0xf91bfa1f	0xdad2260c	0x93eba86f	0x2d94c130
-	0x777290f1	0x2e656559	0x9be4a490	0x377a6ea0
-	0x1b4523e4	0xdca0c8a5	0xb00eed31	0x6baeb803
-	0x9601ee69	0x13d53e86	0xba8d6d8f	0xed6203ce
-	0xc844f9c7	0x91e8a556	0x39974676	0x3b81329b
-	0xdd7f10e1	0xbccb6558	0xb20de25c	0x448c44ee
-	0x8932398a	0x76717b57	0xb20a667a	0x14e2df4a
-	0xa57107f6	0x701b6c36	0x4b83a1ac	0xb39a1c9e
-	0x2cc7e9fe	0xf5ae4a62	0x620687b6	0x2d6aef9d
-	0x6672612c	0x168cdc7e	0x8b09abea	0x522692da
-	0x6461676d	0x34ab3a9c	0x0d61a2ba	0x0590fef1
-	0xe9b4b475	0x2dfb6081	0xbcdafb25	0xdae642aa
-	0x9a9230fd	0xfd67f346	0xdb9d66e1	0x5b307b61
-	0x9d4f1869	0x21133d6f	0x5157502f	0xcc8ccbc5
-	0xb6631100	0xa33f48db	0xc0172774	0x5cb276ac
-	0xe6e5c560	0x07e126dd	0x42bcf23a	0x8064fd70
-	0x567ece78	0xbbc2fe32	0x9d5ee1bb	0x175b24be
-	0xf0feac7a	0x57322618	0xfe9e893f	0xa9b2d67b
-	0x36d03f5a	0xdf178831	0x4da346c5	0x843b1b10
-	0x0d688dca	0x41a475c6	0x4b7adf33	0x145a00dc
-	0xcd226a4d	0x4c40cf2c	0xd4972929	0xbad5ea65
-	0xa96987fa	0xbe247d1c	0x49f2ce89	0xe09bbe72
-	0xee48486e	0x34b41435	0xb41dbb86	0xe58866c9
-	0xe848e228	0x18880947	0xd03cd275	0xca285915
-	0x53dd0097	0xff9069f9	0xaff6a8cd	0xbfe16ac5
-	0x5e88e076	0xac629a26	0x5a99bee9	0xea892a43
-	0x8d1d5ce8	0x806a38e3	0xc4d99fcd	0x331a4a01
-	0x0e586310	0xdd2dfabb	0xe7e6ad37	0x31d67fb1
-	0xbb985560	0xc969ce24	0x3a424634	0x20a2080e
-	0xeb1b587c	0x5cf7da4b	0xdaec0133	0xc99abb17
-	0x63ab9c8f	0xef7e4042	0xca513c8a	0x4e15f5d9
-	0x7cf8fc96	0x464cea5a	0x2363577d	0xd21bb7db
-	0x1d977a0f	0xb02f4878	0x4fd1a03b	0x435b9149
-	0xdfba062e	0xa2f7fc23	0x5ebde93c	0x28e9ed7a
-	0x4023b147	0x9cac0cf9	0x7c5d5ca1	0xb7453148
-	0xa52197d9	0xb85dd94b	0x72ee7e51	0xb81f4f5c
-	0x97a4b485	0x13d8858a	0xa0aabd28	0x9d381125
-	0x4960d2a7	0xa62787b2	0x865231c2	0xd637cc90
-	0x6d58f3b7	0xe2759f6e	0xa28af8da	0x5a005f20
-	0xc11c495b	0x85ecc413	0x657e7b91	0x10b39f7e
-	0x3fcc394a	0x94b3fc3a	0xb359d60e	0x2e6c1555
-	0x67d6d21d	0xb0457bc4	0x004f329a	0x2e131d8b
-	0xfbfbff2a	0x2c1bcbef	0x181f26b6	0x32ebda60
-	0xa0839e5a	0x241097df	0xb3f070a7	0xefbbd9f0
-	0x7c3669c7	0x265f2dbc	0x0bd00e42	0x80d6c4c2
-	0x44874336	0x0b6e7e0a	0xec590889	0xef865c09
-	0x1a02ac8a	0xfbf78784	0xaaf89d75	0xa86c9caa
-	0xc626528d	0xfbcec50f	0x2955f18e	0xb5e9a833
-	0xae60f6bb	0xb3f4c51e	0x21bd6a6e	0x092a6861
-	0x162d73dd	0xacfa4f0e	0x4efed2bd	0x88980089
-	0xa2cee6d9	0xdf0953b8	0x6bf5208d	0x4364ed53
-	0x1a5f19ad	0x2ec7711e	0x7d18832b	0x0f1b28a6
-	0x0e127845	0x278a6a61	0x9e236436	0xf4646e82
-	0x07fff0f3	0x34ae92f9	0xec3e71af	0xf7ec7c67
-	0xdb9ddd62	0xe664e712	0xbb48a158	0x30a14ae6
-	0x0d93b021	0x83082cc8	0x68952311	0x001b0003
-	0xf0688e25	0x6c3b5161	0xfff18a53	0xbd1fb0c9
-	0xe3cc9013	0x1d1e553e	0xa85cdfb0	0x358afc14
-	0x61749007	0x6fad59bd	0xe85f4500	0x26a5ffa1
-	0xedd69e21	0x4c1db8ce	0xaf3be18f	0xcd75c259
-	0xd05f62ee	0x2f0ff1b7	0x717d9bd3	0x62e13392
-	0x159ce5ce	0xcd9e9bff	0x8964600e	0x57d85abb
-	0x3f5ead09	0x2d5d4a55	0x87da8369	0xc7944933
-	0xcde9a717	0x55fa318d	0x112e1607	0x2ca832cb
-	0xb1181bd5	0x7541a7d4	0xac1a1e20	0x6ad024c8
-	0x119378ec	0x60b6cbfb	0x068e2f24	0x83acecb1
-	0x87fd0df3	0x94c9552f	0x08c3d8dc	0x56f1b514
-	0x717d50e9	0x9680fc39	0xa1bdb28a	0x3dfa1c7c
-	0x8fc84774	0xb72e06d7	0x42b7ad1e	0x93646393
-	0xd3632e4a	0x368d78f2	0x36a5ac5b	0x6576a4d8
-	0x8bc6856c	0xd447936a	0xbec6fb22	0xab285e59
-	0x3db2c781	0x72eda32a	0x9d654f18	0xdbd78e99
-	0xbba310ad	0x938ecfc6	0x72d5079a	0x49e2fad4
-	0x4b44dc75	0x81e82165	0xbe269c9c	0x2558ae80
-	0xa3bb693e	0x107d10fd	0x8e4fd977	0x22926b4f
-	0x68c9a7f8	0x6b7439e0	0x5c71c127	0xff5d88b3
-	0x9d8cce8e	0x02982a71	0xf8fe1ceb	0x3ed3996b
-	0x1e4f9957	0x63aca642	0xcc9db51b	0xbcb5af80
-	0x7b2bf393	0x2915079f	0x87f531c5	0xfb06b13a
-	0x550b261c	0xf01fa342	0xcdf4dd86	0x76718f50
-	0x717c6bde	0xf460ef23	0x7f912022	0x54fe5b9b
-	0xc7a5261b	0x073ea6e7	0x71504d55	0x91dd9b8e
-	0x6d259452	0x2dc96e43	0x289959ca	0x128176a5
-	0x8d004371	0x835c494e	0x0efa1879	0xddc02e95
-	0xf0f4618e	0xc67656e2	0xd2bde6b1	0xccaa5e84
-	0xc6592f19	0x91d01db8	0x2b697d22	0x8adfa55f
-	0x5a49e4e7	0x897d5c43	0xd326d94f	0xf5ff0c5b
-	0x57976ca6	0xeff0db4e	0x6d49d466	0x7c054970
-	0xd3eb0f9f	0x0cbdce79	0x1beaf714	0xfe2df967
-	0x6a50895e	0x013167bf	0x6139e59c	0x0662ecee
-	0x9a8d6b53	0xfffb8649	0xce0e685f	0xea5b2a7a
-	0x8819a629	0x5f96afb4	0x8891acfe	0x545f1097
-	0x9f314e1b	0x248a5272	0xa40b8424	0xe42af07a
-	0xa180f331	0x904f3c05	0x98455bc5	0x46198ed7
-	0x03e208e5	0xcf670099	0x7a85b08c	0xba921ae2
-	0x1e6947d0	0xddffa6ec	0xea6330d3	0xcda6957e
-	0x19525cd3	0x311fb407	0x796c1ff4	0x3a2760fb
-	0xde4bdd71	0xdb289b69	0x9811773c	0xa72cd839
-	0x03da90de	0xd42912e8	0x8da1fb0a	0x985d4132
-	0x5890ae40	0x1f7724d0	0xa336824f	0xca19df32
-	0xf8ac73d1	0x61c370a9	0xe152b073	0xdafc6461
-	0x23672042	0x9e6982b6	0x1256c6b4	0xe6bf2c9c
-	0x9dae123e	0x30896b8f	0x99acf3a3	0xaa05d384
-	0xea3b7bb7	0xe711d473	0xa9053351	0x71a85cb4
-	0x3a0f5d25	0x2db3cb48	0x86314a6e	0xf7a2265b
-	0xf7dc1cc3	0x548f56cf	0x4028a1ee	0x7d2e25d5
-	0x68c87e37	0xbced6b8c	0x536cc252	0x68bab5ca
-	0x1158c6c5	0xae0e9509	0x66fa6885	0x22bf2b9a
-	0xa7a60a97	0x18f4f609	0x348623eb	0x773e705f
-	0xb3d6622f	0x8f348186	0x81cb9856	0x64bf21ba
-	0x47e1f96d	0xc95a5843	0xeff6cfce	0x08cb092c
-	0xf214e48d	0xce272fec	0x57bf90df	0x3c425ea8
-	0x856e1f5e	0x5c21d1b6	0x105488a3	0x553971eb
-	0xde614ee5	0xdfa3ac81	0xc5eca5b1	0x69d02d23
-	0x2a0fefb7	0xf9a01854	0xdd99f277	0x75014d7d
-	0x3830e3dd	0x7dd8f1e7	0xdac5ac92	0xbf57c03a
-	0xa5e6a6c7	0xb7c1b7a9	0xc8c8405e	0xfd1977da
-	0x1e6a7ca4	0x299e1025	0x651a0e55	0x53d624a7
-	0xccc9e861	0x901bce45	0x1de5a1ab	0x6140dcef
-	0x3e09eafb	0x20c63cd0	0xff642faa	0xbc91a0a7
-	0xe373e111	0x857236e7	0xe3e61037	0x0b6cc497
-	0xca1da7e6	0x60e53803	0xb68663db	0x42e9956a
-	0xbf4a1650	0xb43f25ec	0xc1232a3a	0x283c2ff3
-	0xcd233183	0x17ccdfc0	0x03ac3e6d	0xa68ced48
-	0xe38217d5	0x03c6472d	0x6a623afc	0xfce0d117
-	0x448ee829	0x0909efd4	0x843a3b4a	0x9ad07683
-	0x2250af2a	0x01ecc053	0x29684919	0x4ee0c62e
-	0xa326a904	0x3ec83943	0xc42b0663	0x966379b2
-	0xc672ece4	0x39391ad3	0x689a10f9	0xd3e9cbd6
-	0x4bfa8446	0xd1ef6375	0xfe01b6a9	0xbda7d01a
-	0x1e6879bf	0x05bdf46e	0x14ccab04	0xb02ae668
-	0x58b51752	0x5eb8e83c	0x753d99de	0x87e4235b
-	0x80b2afe7	0x127439fe	0x127a98a4	0xe5934c92
-	0x86044bc0	0xa9664abb	0x91365b53	0x35b14bda
-	0x67755842	0x7239651a	0x49e0b2e6	0xbb1d25fe
-	0x51ca7213	0xaff2fd82	0xc1223aba	0x02941bcf
-	0xb6ec2cfe	0xaa817dc0	0xe0475250	0x78098112
-	0x750ae102	0x0b3135fa	0x23b648d4	0xbc9d78bd
-	0xc5d7e046	0xe90ef47c	0x7f21eb75	0xdb304b0b
-	0xa2c12ee2	0xb45e62ed	0x9f50feb6	0xe036ff55
-	0x422f410b	0x2385de45	0xb37df6a5	0x4c2abf10
-	0x6a2c7370	0xf35197ac	0x381face9	0x694761c6
-	0xb2275097	0x208824c7	0x945300a0	0x4ad3f83d
-	0x38a7aa12	0x00daaf41	0xcd4b2c19	0x25b2e8f7
-	0x60d3e39b	0xb3dd8220	0x152f86ab	0xd1ec4233
-	0x1c3df78a	0x5aeac74e	0xdeea2fe3	0xcfcf9b2e
-	0x6efc8b2a	0x12a8c5c3	0xb56384e4	0x1b1fe549
-	0xc55acb4d	0x78e7306a	0x733b0f70	0xf4afe6be
-	0x6d904b03	0x7ddd7862	0x4da02602	0xfce1e904
-	0x78773a4b	0x9083e908	0xda8a7593	0xafd8776e
-	0x9e5ae37a	0xd6e7c557	0xad27adaa	0xd0f1a995
-	0x1c84e046	0x3319b21a	0xd24c0d03	0x1789df77
-	0x0f02b9ff	0xdb911f76	0xb2df7654	0x2e75a7bd
-	0x8acc6fd3	0x3c16ec0b	0xe0d7ac22	0x3ddd1ce1
-	0xfa9ec67a	0x48f2c409	0xf8099606	0xd73a459d
-	0x9b2b3fa5	0x8e3c3e9c	0x8b99286a	0x006c0e07
-	0xc299ded3	0x8a2bd400	0x74508dd4	0x609b4afc
-	0x1a532838	0xb352a629	0xd390d8af	0x440a5798
-	0xd31f6ad5	0x161aa48e	0x24a4359f	0xf39f49f7
-	0xff160d2a	0x27a24637	0x84c46d40	0x988d026a
-	0x5697a68f	0xeae970a0	0x42689e3d	0xc84ee62f
-	0x764aabd5	0xb6d74ba5	0x8efc05a6	0xf2d0eccb
-	0x2b4fa41c	0xad24799f	0xf73b8353	0x76bcd448
-	0x08172d5e	0x5c6be301	0x926ffdd6	0xfa31009f
-	0x8339c5f9	0x9dde2840	0x00c2d730	0x6402335f
-	0xf6f84eda	0x5b0e628a	0x140dbafb	0x0533ee67
-	0xa7523e60	0x20ca14b3	0x1145d280	0xb0c0ba41
-	0x81f174d1	0xb80fc64e	0xe8321cfe	0x5762e501
-	0x9e266b75	0x2695a738	0xe3104779	0x1d1ea19e
-	0x15fd1d53	0xf0fbd4ee	0xc82f4552	0x4ea98e23
-	0xec892d69	0x66ccadeb	0x2fdf99b4	0xafffec15
-	0x2de5ee13	0x5e6ead7f	0x20b111cd	0x752254d1
-	0xc0126f43	0xe2695fd8	0x38651d40	0x15b708ce
-	0xf2c2ffdc	0xec24c68c	0x04351ddc	0xceac029b
-	0x0525fc89	0x90e28526	0x0a23a4c2	0xbb33a5c4
-	0x13f1fc38	0x66d79cd9	0x0acabe80	0x8d4ef5d8
-	0x4091808e	0x02f7150b	0xf550597e	0x52703c3f
-	0xfc954b68	0xe9ebaccb	0xd4f35b2a	0x93793446
-	0xc40799e6	0xa963fc0c	0x92c8d8f1	0xbc8218dc
-	0x9ec5c30a	0x8a6a2217	0x63d13dfe	0xea664e1e
-	0x487192a7	0x1c8f8610	0x88e20f93	0xc54a6de3
-	0x0111ae79	0x1335f02e	0xa2e2d37d	0xc2563697
-	0x5fffcdec	0x233919ab	0x3bab1329	0x61943e99
-	0xea7940f7	0x3cc62cf4	0xaedc5bc4	0x41b63f2c
-	0x6dbf285f	0xb4793534	0x0e1013f2	0xc54d8c2d
-	0x23c587f7	0x75df0092	0xc055254a	0x55db2c71
-	0x518eaa5b	0x55c810d6	0x9c44ca37	0x034287ea
-	0xe06a0567	0x221a0d8c	0x037a9164	0x36693ef9
-	0xb7d270a6	0xa8d84a63	0xe8862970	0x484077b7
-	0xab426cb7	0x37db7c9e	0xb34e1752	0x35444958
-	0x00d48e90	0x8142602d	0x8ca28e2c	0x714598c9
-	0xb1cce1be	0xbb98db74	0x400e1029	0x330cb2b6
-	0x1fd3f8ce	0x2abf7516	0xc2d07e5c	0x2b1d2b80
-	0xf06bd895	0x2fa7bc09	0xbdbdf893	0xd8466f85
-	0x61e551b0	0x5b99bfb8	0x86ea5ee7	0xfd82ff9a
-	0xd7c6344a	0x1fa144d8	0x650f0f02	0x71bd73cf
-	0x2825177d	0x56c76399	0x2e0b873e	0xc3bf939d
-	0xf8bc3c1b	0x468482e7	0x33cb98a7	0xa679eaf4
-	0x32ba9b49	0xde86d50c	0x9eeeeee5	0x94a306e5
-	0x432e1c9c	0x37997d0c	0xa84d981f	0xbe07b56d
-	0x4ab6d465	0xa3cd92c4	0x5dea82ab	0xf771249d
-	0x78f87ba5	0x8105df1c	0x3d74e1c1	0xf48cd4c1
-	0x8ad010e1	0x9e9a2758	0x509c8953	0xeaaed79a
-	0x97a4ecb7	0x23ffceb0	0xb3e42e61	0x5f41b4eb
-	0x14d2804c	0x2d635ad3	0xe1314781	0x3921ec18
-	0x3dbebec3	0x94e0df22	0xb0b4724e	0x0e7f986b
-	0x83dd7694	0x7041a22e	0x3c942757	0xd6ff5cbb
-	0x048b0426	0xa5d6c4cb	0x1f4e3bbd	0x78d5924e
-	0x6a857d77	0x1d115ecc	0x73c6a888	0xefb934ee
-	0xa7d1702b	0x6794a668	0x03715b90	0xfbab19f9
-	0xd5a433df	0x12f4d421	0x40519650	0x636a093e
-	0x1601be15	0xe0fbef6f	0x79d775bc	0x789c3a30
-	0x4d9fa618	0xedf8fa70	0xb0fa402d	0x692ee91b
-	0x5a593e5c	0x0fa3667f	0x3f51a636	0x935e28c7
-	0x230b725a	0x4929bc83	0x76de40ad	0x2d9a5f7f
-	0x8799e033	0xbf2700b0	0x5220159d	0x1ed71ca5
-	0xcc66f114	0x15fd868d	0x4236645a	0xded2558e
-	0xa561cc0d	0x02822e5b	0xd0177f80	0xf09badd9
-	0xd5380ae3	0xcfc11a46	0x36713416	0x7f3d60cc
-	0x4018797e	0xc6b23941	0xcb5a4861	0x614ce6df
-	0xabfc0629	0xa519bcfc	0x911f04f0	0xe509b546
-	0xbb411eb9	0x9e6b921c	0xbf0b1c70	0x80c2901c
-	0x85786713	0xad2aafec	0x62711ba7	0x6edb4971
-	0x214eb137	0x45b1b313	0x6742d5e9	0x7daf37a6
-	0x21d6a27a	0x059424f7	0x2c8c3dfb	0xe7a06c77
-	0x10815625	0xb4dc69e8	0x52767f66	0x44d48738
-	0x84d26c93	0x09008893	0xfc21394a	0x82155a72
-	0xc4fd7512	0x6d43cd2f	0xcae99e08	0x453175ae
-	0xc6ee93a3	0x2fed0eac	0xe48fb73d	0x0afe2d2a
-	0x5966735e	0xdc7e5fb6	0xed1ef13d	0x7e08a106
-	0xd3ca0e6b	0x4ce5ca02	0xa0beebed	0xe982c609
-	0x1ee9e5a2	0x24ae26cb	0xfd4c08d4	0x5e85e850
-	0x11b54b3b	0x87209692	0x4a5b0c35	0xcd25dd6f
-	0xd9570253	0xaad0b9fe	0xaf984fee	0x6cf7ae2d
-	0x45d9926c	0x07a66ac6	0x8e7aacdc	0xaf587d66
-	0x53972a4e	0x8da4a6c9	0x2bc311e5	0x36938ae8
-	0x179b965d	0x515743f7	0xb5bbbdcd	0xd8602715
-	0x9e43049f	0x4e78a080	0xba3f1750	0x68635cf0
-	0x85823047	0xbb03b5fd	0xb0d747c8	0x58d214af
-	0x94b1ba85	0x6d2cf8ac	0x2bc1faeb	0x6bd7c1e3
-	0x127658e9	0x8b499020	0xab8f0f62	0xee665a6a
-	0x89240e4d	0x8a95342b	0x00b38ccc	0xe6b14d9d
-	0x32a2af71	0x4c9ecb69	0xc8de2685	0xd7385184
-	0x8e943872	0x809b2c79	0x108511da	0x08b4f54d
-	0x95f52442	0x26fe296f	0xf7e037c0	0xa1aecdd3
-	0x89774a91	0xde67c55f	0x1f9816dc	0x1469a4c2
-	0x28240be2	0x5fd0ad14	0x0949db3a	0x451b94d3
-	0x637e6d49	0x8a4771c8	0xf65104b7	0xc3058c40
-	0x592fe4d0	0xe26129f0	0xe66e6ce9	0x26ab39b8
-	0x308da532	0x205afe77	0x6dc78664	0x84d4890f
-	0x9d49fcb0	0xcac8f2ed	0xe713d798	0xfed7c75b
-	0xe441a0d4	0xdf60df37	0xc2eed2f5	0x2d68b20e
-	0x7827c89a	0x9d4cb9f2	0xb8912cce	0x07516335
-	0x976ffbb6	0x5cd0de48	0xed716f54	0x6f3c9f7f
-	0x34cf42d1	0xc1027cbb	0xde67c065	0xe0a229af
-	0xfc8bd2e8	0xd62ca176	0x8bfb76b2	0x54a1388f
-	0xe0650bb6	0x6d60682b	0xe16cf130	0xbd7c3ca2
-	0xea642814	0xa25f4d44	0x27013786	0x7316aa38
-	0x571511c8	0xf1b6b789	0xb7bfe72b	0x8fd2652c
-	0xbfc7771a	0x51a2e551	0x3bd738c2	0x2698b495
-	0xec69a196	0xd5ecb5c4	0x9bd3224c	0x6d9ab4cf
-	0x326c9942	0x4d711191	0xde9be50a	0xa980ca0b
-	0xe8e59dd0	0x4439e4ae	0x35de914d	0xee499a84
-	0xd1ca0c9d	0xfe6ee96d	0x5b1f4fd0	0xabf0621a
-	0x0c8220c7	0xcb6dbb1e	0xa5116036	0xe858d3c3
-	0x728e3a56	0x3b33e818	0xbe2643c1	0x497bbcc7
-	0xeb369828	0x9a4a01be	0x8c7e72a6	0xaf052f25
-	0x8d3ca85b	0x4703e55e	0x45647d4c	0x86d1e3e8
-	0x40ab59f9	0x3259b195	0xf979a147	0xb8961870
-	0x88b024f9	0x366e26bc	0xd6811525	0x252910c2
-	0x4223a20e	0x7fc971a3	0x4a639bf3	0xb6550c3b
-	0xfe05e552	0xbdc98897	0x509923ff	0xf51a5abc
-	0xc6cc0891	0x61cdac05	0x03a68664	0x1b80cc76
-	0xe18d8ee1	0x798bb4d2	0xd7769bf9	0x9ab4c02d
-	0x7484774b	0xa9ee2c8b	0x87d34c85	0x15697682
-	0x9f6a4a55	0x9d7a731c	0x10014d6a	0xb9798070
-	0xd42f79cb	0x89db59b3	0xd5b0a0b6	0xf60864a5
-	0x2d6fb084	0x1cb607b2	0x48232701	0x9310cbc6
-	0x5bc81c98	0x6b25016c	0x2014b99d	0x0836e60b
-	0x0addbc4c	0x3b8bac7c	0x8d95ac77	0x1d56c3c7
-	0x58333104	0x3d6eb719	0x676eb951	0xd5c2d1a3
-	0x239dae86	0x92181ab8	0xbdde9741	0x7995d452
-	0xe0020661	0x2f80c8b7	0xeedcd4fc	0xe4bde175
-	0xb98fdf78	0x84b9228f	0x78ecb4f3	0xe99e5d46
-	0xa33b9b96	0xe2cbc71c	0xc19e2146	0xdc0ee758
-	0x2d8f8767	0x2036685b	0x149df155	0x2e7ab376
-	0xb13b4266	0xf5c8a3b0	0x02ca1e19	0x1badd81b
-	0xb9c1832a	0x73b31f75	0x69979b55	0x567070a2
-	0x2edeb3dc	0x26b55921	0x461df49f	0xc1aba883
-	0x25d6faec	0x5260e9bf	0xa8ccdd4c	0x04291961
-	0xfaf7a1b8	0xbc2d36e3	0xd6c86385	0x2757fbb9
-	0x62c7107c	0x87dac461	0x0c006454	0x0e971e49
-	0x4749afca	0x7f1fb389	0xdc0b69d3	0xc69fab09
-	0x12c372c9	0x78480a51	0x8ab03a94	0xb37022ca
-	0x1d00e893	0x0989de45	0x8c819503	0x8e0e1c06
-	0x11cfef86	0x3c2386a6	0x66c0e6c8	0x1befa478
-	0xd2e7a4a7	0x9a8b5917	0x2cfa1816	0xaf7e6c7a
-	0xd6c9f0ff	0x1aada3e0	0xbe36a471	0x5a91f3c7
-	0x6c61ea95	0x5246ef7c	0x20bc86c4	0xcfd87abd
-	0xdc61f595	0x8310a684	0x0477e35c	0xe59e776f
-	0xfa403863	0xdaf7bcb1	0xd6084825	0xb90bb047
-	0xeb9ff684	0x7223fbca	0x6b4af987	0x6b2553f8
-	0xdaabc6d2	0x82e2ebc3	0xa7c1c054	0x667eb0a7
-	0x53a0c7d4	0x3fcba743	0x38170187	0x2a2e5830
-	0xee134608	0xcd6e0112	0xac0831f9	0x9537d532
-	0x1e176b9c	0xe3fcb69f	0x17a2eee9	0xa9e6467f
-	0xbf6b0246	0x6a08c0fb	0x7fb943b6	0xb8f67c0e
-	0x2b3b4ffc	0xb155d20c	0x4eb5de53	0xf078715b
-	>;
diff --git a/arch/x86/dts/microcode/m0130673325.dtsi b/arch/x86/dts/microcode/m0130673325.dtsi
new file mode 100644
index 0000000..8063a75
--- /dev/null
+++ b/arch/x86/dts/microcode/m0130673325.dtsi
@@ -0,0 +1,3284 @@
+/*
+ * ---
+ * This is a device tree fragment. Use #include to add these properties to a
+ * node.
+ *
+ * Date:
+ */
+
+compatible = "intel,microcode";
+intel,header-version = <1>;
+intel,update-revision = <0x325>;
+intel,date-code = <0x11192014>;
+intel,processor-signature = <0x30673>;
+intel,checksum = <0x5edcd570>;
+intel,loader-revision = <1>;
+intel,processor-flags = <0x1>;
+
+/* The first 48-bytes are the public header which repeats the above data */
+data = <
+	0x01000000	0x25030000	0x14201911	0x73060300
+	0x70d5dc5e	0x01000000	0x01000000	0xd0cb0000
+	0x00cc0000	0x00000000	0x00000000	0x00000000
+	0x00000000	0xa1000000	0x01000200	0x25030000
+	0x00000000	0x00000000	0x19111420	0x11320000
+	0x01000000	0x73060300	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x00000000	0xf4320000	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0xfff634fa	0x937ca2ab	0xb28d19b6	0xdefc54a7
+	0xd8df0b32	0x13e9a2a8	0x7b7cb24d	0xd588d3a7
+	0xdb666815	0x5a17bfc4	0x4fca009d	0x099ae8b3
+	0x198e2c7d	0x7c665bbf	0xc07a1a7a	0x7dbcee26
+	0x867296b2	0xc885b6ce	0xe602baff	0x68544b14
+	0xc928c400	0x3add156d	0x531946f9	0x92a03216
+	0xda352322	0xd967ee1f	0x3c5170a7	0xf6de834e
+	0x5a2ed8b3	0x9fb8f050	0x450de17f	0xfd5ef070
+	0x4954575f	0xa3a071ab	0xb56e2afb	0xe2b48302
+	0x6655a958	0x57c9a438	0x1b2f688a	0x09309bc4
+	0x0be95612	0x529c1633	0xc48515d9	0x29eb78df
+	0x9933409f	0xda58dea9	0x58c805fd	0xbc110f5a
+	0x40780ec0	0x6ad59bb3	0xc7387fb8	0x591c1490
+	0xf9335932	0x32130e0b	0xef4b3c96	0xacd903f2
+	0x5b362539	0xe7f85529	0xcb17c41f	0xe7e440d8
+	0xfaf7e925	0x969b76fb	0x5edab8c7	0xf00012e8
+	0x121c2971	0xe5b18959	0xadfd07c0	0x1f09c9d7
+	0x9781006a	0x39550073	0x6c438b6d	0x436f60bc
+	0x11000000	0x1f504653	0xe21b5652	0xe97686b4
+	0x5f67c59f	0xa9b26fd4	0x9dc84f1a	0x0f02451e
+	0x0a821675	0x12547714	0xefe1084e	0x91260f23
+	0x17e46cf5	0x3dad6dd8	0x4e16210b	0x0472bd56
+	0xd3fca8a6	0xfa3f5184	0x87d91976	0xa7b008eb
+	0x17bad553	0x89835b41	0x32e7d87c	0xdfcf298a
+	0x6a740196	0x0405a296	0x4f830df5	0xfcf047f1
+	0xca0e7a10	0x8d0afa7b	0x08facdae	0xcf7bbe22
+	0x8e08e283	0x6b51333b	0x452cf734	0x03da5390
+	0x7075365b	0x402e71ba	0x4a8d4547	0x0da62d39
+	0x3fcae342	0xe8cb1437	0x6ddc21bd	0xe22b5edb
+	0x319decc1	0x6c558ad3	0x3b44648a	0x8cdf8642
+	0x5a3a8cdf	0x6aae06b2	0x7360d1a5	0x774351c9
+	0x88681d42	0x466d3573	0x6d8538cb	0xa3350f1e
+	0x7b431d3c	0x21074f32	0x6955a68f	0xa3988611
+	0xad1c79d3	0xe00884c6	0x12e5baa8	0x7dad4109
+	0x61d16a48	0xd2074a23	0x58611da6	0xad7b774e
+	0x90a80987	0x05aca95d	0x482b51ca	0xbb8fe27d
+	0x2abe5e48	0x590c8b98	0xef745dbf	0xce17a591
+	0x6607216b	0xbefec476	0x7a8b08a9	0xb281bfc4
+	0x76f7dc81	0xaacd78a8	0x38cd6888	0x9636aa2e
+	0x7035053d	0x069305f5	0x0da92823	0x46d344df
+	0xce46f308	0x1fcca5d0	0xf4b0daa0	0xed8ecd8e
+	0xdae9e33d	0x69be5bef	0xc545c95b	0xadeaeeb8
+	0xdd903783	0x5a2f3287	0x73865fd0	0x865d709d
+	0x1ed58537	0xe44c821a	0xc9ad0d97	0xe81b9851
+	0x552cf1e7	0x03a3b2dc	0x219194a0	0xd8875c82
+	0xe39b25b7	0x61149b84	0x79a99812	0x287eada3
+	0x057cc940	0x0ed85405	0xf4cbb20d	0x8d87a099
+	0x2018b6ae	0xd14f3646	0x35bf5bd8	0x82931be1
+	0x52234bd1	0x9143a967	0xd9d1a3d4	0x869c266c
+	0xcaff55f0	0x64ad39c2	0x02435da4	0x32e2907c
+	0xbc2682a9	0x60863cea	0x163028c0	0x007fc9fd
+	0x6553eb56	0xab00c11c	0x3aa77e22	0x87f722d4
+	0x004850a6	0x5460e040	0x9e91042c	0x46dd43c7
+	0x3b05c92f	0x060ce074	0x62730a12	0xc6d47872
+	0x03d26f06	0xf7b3d04f	0x92adc672	0xc31d8130
+	0xd40eab22	0x616b7f8f	0x56b2c742	0xde6015c3
+	0xc10c0d02	0x3ab28f97	0xa091494f	0x1fa0c28b
+	0xc76c5661	0x27effd8f	0x3de80c1e	0x5713a42c
+	0xd9114db2	0x17ab3314	0x0e3aea42	0x60712f1f
+	0x4a7d4389	0x9db1857c	0x1103baa8	0x579462a6
+	0x82ac5a7e	0xda8d9f67	0x835bed5a	0x08705479
+	0xbf4bd494	0x082d8b22	0x408878b0	0xa698e9d8
+	0x27fba6da	0x2308fb71	0xcc1b9c9c	0x5200bd18
+	0xf1baf601	0xe67b1d1b	0xf3c95153	0xf8fb4f22
+	0x2859e330	0x3e7bc864	0x02c88201	0xf835c5f7
+	0xcefd31e1	0x4c430b43	0xce13d99c	0xf9aa01ab
+	0x9f5c0d3a	0xbf06696f	0xc834c22c	0x145cf026
+	0xb45e1f1b	0x97302dd5	0x5b5d108a	0xffde5401
+	0xffbd2caf	0x8eb5c823	0x3f113711	0x144ec354
+	0xab3864a7	0xeee70354	0x208ea79c	0x1b2c7364
+	0xc3cb82d0	0x21d9b3bc	0x27846121	0x50bd8910
+	0x43a2616a	0xface9686	0xe12195b9	0xde4639d9
+	0x0b88b493	0x32b1685e	0xbd782bea	0xc674188e
+	0x23425d26	0x9d2d3c81	0x33b3a260	0x4ebebf2f
+	0x6a634d1f	0xb977b1c1	0x476223c5	0x654c5461
+	0xbeaa9c98	0x75242b30	0x26061148	0x69889154
+	0x910a2132	0x07df3136	0x372a7cf0	0x58541d8f
+	0x65ce78aa	0x0c6e4ff7	0xab8c31b6	0xbe39960d
+	0x63bc072d	0x53872b7c	0x959f3049	0xc13ba7a0
+	0xd7111cd7	0x5e68763f	0x923dc674	0xdb2e8a4d
+	0x5c2cd5e0	0xd93be0e2	0x1bccff32	0xbbdffc8a
+	0x1641ff1b	0xeab24fc7	0x70aff37e	0xc87fe4f8
+	0x32afd630	0x060dbdf9	0x6e119a8c	0x987e51c5
+	0x57abb8f6	0x15b3755b	0x938f709a	0x7c4b5522
+	0xfd376691	0xd909457d	0x58656778	0x3bdee518
+	0xaf65afd2	0xe1cd74ec	0xd2bc8a3a	0x9aa30f8b
+	0x6e1f183f	0xc2fa7bf8	0xa60385fd	0xe0320d46
+	0x2e5bc0df	0xf95b8c37	0xfa760bc7	0xc8960509
+	0xdebed2f2	0x560ac9de	0xb3ac0e62	0xefe328dc
+	0x358d5330	0x72c31526	0x5932780a	0xb3b824b4
+	0xda37daae	0x69dd74c1	0x41c91b5c	0x8180b956
+	0xc69574b5	0x1830993b	0x0d5ef14b	0xa8dec45f
+	0x5c4019ed	0x559e7b51	0xd07a3c14	0x49208a2b
+	0x5265dad8	0x1b9826c0	0xb8cc3edf	0x63ccaf33
+	0xdfdfb78b	0x3292f976	0x9f1ddbc1	0x2e3bfa8f
+	0xc4b5a941	0xd8b1fcea	0x68764a2c	0xbec828e1
+	0x07db4118	0x2022cfd1	0x6be82389	0x7ecb046a
+	0xd31a639f	0xa0f50a18	0xbb4dc035	0x765a6e5f
+	0x59fe51c8	0xd2138643	0xccfeebae	0x234c0440
+	0x49bcdabd	0x88e86cb6	0x48760e88	0xcc34f20c
+	0x0977dead	0xf3f0d324	0x736f4df6	0x0a94f658
+	0x0bbb01cb	0xe962549c	0x6a1c39c6	0xbec25a26
+	0x4cb71dd7	0xf1043105	0xba0f3726	0xc97645e3
+	0x23d4b508	0x7c0827ae	0x097f96f0	0x0a054e0a
+	0x79e7a543	0xbedbd7d1	0x52d2b51f	0xebabfee4
+	0x1f0e76e2	0xa07922a8	0x3a630243	0x41b8b460
+	0x11f8e1be	0x97ab45cf	0xd952588f	0x70461a90
+	0xdf62afd8	0x169cd499	0xc9a38028	0xe2d36ebf
+	0xa86477c5	0x1890d4fb	0xb78c189e	0x6002b07d
+	0x346599a1	0x998b8687	0xa073f3ff	0x561c2a62
+	0xc4904bcd	0x59a5194c	0x6b2d285d	0x3c7208dd
+	0x1a2e9b5e	0x7a7732a8	0x2c803c45	0xb307e8fe
+	0x9a402093	0x521740de	0xb25a372e	0x1abeec65
+	0xd9f84a17	0xed465fd4	0xfcc2e034	0xdc9bc727
+	0x9607ab7b	0xe0bd62d8	0x8630873a	0x361b3b75
+	0x603255fa	0xd815876b	0x32d0e705	0x5f99a520
+	0xf15a63b3	0x83f3009f	0x7ad4b916	0x1ba9093c
+	0x824dc86d	0xcd792af9	0x8d1e623d	0xad4877c1
+	0x2c09f508	0xab062540	0x242c5f5e	0xb46796bd
+	0x0bbc1a5d	0x02be8545	0x4ad68f23	0x370b4b1b
+	0xc16c7ebf	0x8b65ef74	0x11b64ded	0xc00f5586
+	0x41d6033a	0x0f79c8e9	0x356094c0	0xff3ec289
+	0x11a0d26f	0x347ebbef	0x23f2b11a	0xb6b15aca
+	0xe6856320	0xacecde47	0x513fbdea	0x7d7ac026
+	0xb72b0011	0x7d8cac25	0x222704f3	0xabc6b166
+	0x60995d26	0x95ccf438	0xce21d44f	0x27e15e98
+	0x9e229da5	0x929009b0	0xe79afdb0	0xf91bcab4
+	0xe5894312	0xe98d7607	0xb2bd2408	0x5abc5003
+	0x532b2c0a	0xb41dbdf7	0x248d6b00	0x7b811187
+	0xff7afcb3	0x818c2c38	0xacc7a704	0xaa14713a
+	0xeed076d3	0xcca8d4aa	0xd90177c0	0x9fcc01ae
+	0x8edd4189	0x1c896cfe	0xc4856a25	0xbeeb2217
+	0x52249b24	0xad45ff42	0xb43ae3a7	0x4bf0df57
+	0x91e369cf	0xcfafc488	0x6c218f44	0x0aab7b09
+	0x5f9c2410	0x87cdac03	0x986e83cd	0x56a7bba7
+	0xc7d2270b	0x467b995a	0x4b398fc4	0x64f04f87
+	0x30334708	0x8d0c7e49	0x69c792c2	0x725eba77
+	0x6870df0c	0x84d8a30c	0x0c5c6ac2	0xd9bc43cb
+	0xc52ab350	0x64878641	0xef306551	0xcfe54739
+	0x1aa176e8	0x6f1a7e1a	0x965be809	0x21e345f9
+	0x9ad41590	0x5e5de630	0x82cc1207	0x6120734f
+	0x846449fb	0x9d822218	0x2c8e025f	0x747f180c
+	0x90a64365	0xec79c646	0xaf2a29b0	0xb5a4cfa3
+	0x4f5b82de	0x0b7ad494	0x3b02b3e0	0xe5d96463
+	0x241aa4f3	0xefeeed3d	0x6e6d49ff	0x2d45821c
+	0x4598f881	0x7de00efb	0x25509321	0xc64ceb14
+	0x218dde9d	0x59c3cf6b	0xf8f702e6	0x3e0cf0c0
+	0x178f8a4a	0xc8aa3338	0xdcb7989d	0x297f30a0
+	0x270b7ea6	0xceff00a3	0x22ec287d	0x50673360
+	0x1fccbc8f	0x66c3805a	0x8a327234	0x52e1978f
+	0x538b121c	0x1f2fa957	0xeada2b4e	0x29423125
+	0x81d3a179	0x968b4097	0x3522324d	0x5cccf20c
+	0xa6adfc16	0x3d1cb3b9	0xbaefea60	0x57978720
+	0xf5eb4b9c	0x5a8b3acf	0x4f3ac467	0x94a7e4ca
+	0xb4100044	0x54fc2e4c	0x16ec9a22	0x3aecc34a
+	0x6df7f52a	0xe1279f5c	0xaa25ad1a	0x907baa13
+	0x51c19956	0x35987a2e	0x1adbb651	0xaf0a5285
+	0x83ce12f0	0xcbabf9e6	0xfaa1cbff	0x73139922
+	0xc6f5b18a	0x9f91c4fd	0x6583a1bf	0xa144eed0
+	0xc9f2b43b	0x249407d3	0xe3520b2c	0x60dc9aba
+	0x53ff14c4	0x24133ac0	0x4b6a4452	0xe0aea55c
+	0x884302dc	0x24d8ced4	0x3db6976b	0x48aad95a
+	0x7e4defba	0x80215bbf	0x62241272	0x0747edc0
+	0x32206c16	0xffebdcc1	0xdd1662c9	0x1bd3eb01
+	0x785d4a0f	0x4b37087b	0xce5142e8	0x1262ef36
+	0xb04665e5	0x84491927	0x9df53726	0x8d175409
+	0x79fcc87b	0x647f1da3	0x68c89316	0x14926e0b
+	0xf7ca65bb	0x20634f45	0xbd13da4c	0x683991d5
+	0x81cab56c	0xeb840c6a	0x8954031e	0x06deeb42
+	0x92f26c77	0x6b2de0c6	0x80a23d71	0xd11b9d58
+	0x703498a0	0xacade451	0x797bf69b	0x0f6b0db2
+	0x92430faa	0x1756940d	0x99aa9ef0	0xcee8c383
+	0x8bc70735	0x19b263e3	0x36a5345d	0x271c893d
+	0xa32a1999	0x0345759b	0x3f89c616	0x52132086
+	0x10d16c86	0xd7425739	0x961a376a	0x3c4f62a9
+	0x64c0bbe2	0xbf9fcf69	0x3b9055a6	0x88ce084f
+	0x12d088cc	0x2ca9dba5	0x01e2d480	0x7510c47a
+	0x48439c10	0xb82ea353	0xc749c7e4	0x9a768665
+	0xb4233311	0xd62cc354	0x978f7fb4	0x24598a22
+	0x559f80e1	0x18038c96	0xf4a8607a	0x9b45454a
+	0x966c8058	0xbad65e97	0x3247c4c1	0xf402cdb6
+	0x9210a715	0xa4f007f1	0x99154ab2	0x65fbcbfe
+	0x9f80323c	0x34699431	0x01676213	0x30a1e6fa
+	0xd25522c1	0x379c77d4	0x1871da5e	0xce5e5496
+	0x3d6b8be4	0x1dca1d1a	0xa00a2d5c	0x87e10ca3
+	0xe693d866	0x460474d3	0x3f63c391	0xe7ea29d1
+	0x2cec6e1e	0x14d4984b	0xc5d6b60b	0x6d6e0837
+	0x3d4c924c	0x90489257	0xfc8d6a83	0x925c8cb2
+	0xbfe92b1c	0x49242696	0x2e61cd01	0x2257e796
+	0x05a1a9bf	0x3cf1f59c	0x8dbca249	0x224abfe4
+	0xd03b80f2	0x69958e27	0x2ab3a3cd	0x12c385a2
+	0x009f8225	0xfdd732be	0x008ab069	0xf3c83e93
+	0xaeb24747	0xc589db37	0xcde6618d	0x20bd0207
+	0x385e9501	0x0fd9495c	0x5b2e2ed8	0x1078f265
+	0xc90dbe7a	0x1a41d9c9	0x8f9874d3	0xafddd25a
+	0x6c06f499	0x30fbfec6	0xd7c880a7	0x88707b30
+	0xa6dbcb05	0x952fbc2c	0x634e6259	0xe6b40847
+	0x6461bd47	0xae4d5763	0x2b2bba28	0xb80d9555
+	0x2ec5ca1e	0x29d9df5f	0x41cc03d9	0x2235582b
+	0x23835179	0x21d0ccf1	0x804ba9b0	0x57b9b8d7
+	0x1497654c	0xf1e54c96	0x9049e9bf	0xec7a7398
+	0xcfe60cef	0xd8a41f9e	0x924e41e8	0xd4310360
+	0x0bc22c8e	0x8e9949f5	0x1de2e407	0x83cb7e67
+	0x43eadc46	0x428a67b1	0xc3be2567	0x2e64f02d
+	0x416bb222	0xbc70ec3a	0x582bb3ed	0xcda0b133
+	0xb906e982	0xcaa44950	0xf9c503a3	0xe83283a1
+	0x5126b967	0x525d3279	0x0ac69ff9	0xcd705322
+	0x2d8429a9	0x6e76fe2e	0x81794602	0x666ab1bc
+	0x3f31b894	0xcffd21c4	0xf5cd3705	0x114db9a9
+	0x4ab6f993	0xc413712b	0x4d3e7649	0xd167da79
+	0x33c9f1ce	0x1d7c81f4	0x06f9b423	0x747aff7d
+	0x0d52f157	0x839b8075	0x0a853d42	0x6203b11e
+	0x4677d3af	0x38abf342	0x3623c79f	0xbca55b66
+	0x8bc84201	0x4bc018ea	0x03233c7c	0x615f7eb2
+	0x0c60cef9	0xe0308dbf	0x12031915	0xb29fbfb7
+	0x78434066	0x4ee2c89a	0x184f0327	0x47f9d7be
+	0xcce175a6	0x6b3e0b3c	0xdc5b8812	0xc4a0678b
+	0x4023109a	0x152b2c76	0x363fc158	0x8c3e2f21
+	0xa064aed6	0xeb042d45	0x23c24cc2	0x1a8af60b
+	0x07b9b84b	0x29d990b4	0x2609d654	0xddb12106
+	0x23cb29bb	0xfd7be4d6	0x458e378f	0x3435ef60
+	0xf4c5a257	0xfe2b302b	0xa44c6fca	0x9594eb9c
+	0x42562735	0xdcd2ae0f	0x6b121b2b	0x955db8b2
+	0x99324409	0xf9040b5a	0xd4ee06a6	0xe02dde19
+	0x1d689a66	0x01c5034b	0xe16762ff	0x404c08a4
+	0xb797f9f9	0x409e15c8	0x7f8a86d5	0x8c097dc3
+	0x88853010	0x7870d226	0xd9684129	0x5b1f1ff5
+	0xcf0f9327	0x5631fdd0	0x85ad0d39	0x9a7a3da0
+	0x2f196f96	0x98f80f57	0xc2f5bc2b	0xf3c89a99
+	0x5167b4e8	0x38a5b8da	0x31274e92	0x316736b3
+	0x0ba380a6	0x4cdab635	0x55c10afd	0x0aa42f67
+	0x5cb9233d	0xefbea208	0x614caf1e	0xa7b51e52
+	0xbca0669b	0x3e82e113	0x8437d9ea	0xed52af57
+	0x90c58450	0xd58d0939	0x6065bacb	0xa0f03557
+	0x28dacf55	0x95616db9	0xe22c6304	0xf95f1451
+	0x68a017d1	0x744940a8	0x29656d46	0xb462a093
+	0xda67e118	0x9beae14d	0x41295fc2	0xf4832210
+	0xd546e11c	0x9a6fbd36	0x1fa63a12	0x080dd512
+	0x142445a8	0xd7924445	0x7e81a85d	0x0fe2facb
+	0xaea25515	0xdadd52ac	0xd4d4c9d1	0xe53a1391
+	0xf23efc0e	0xae8d8a11	0xe4a18294	0x7897206d
+	0x882f7598	0xcfba1c50	0xd2ab7795	0xabce7dd4
+	0xf953ec47	0xe61d6306	0xd16895b7	0x8754c3fe
+	0x71b45033	0xa13c4375	0x12eeaccb	0x982003cc
+	0x207896e1	0x49d067a4	0x5f302283	0xe4df36fd
+	0xb00cfa4d	0x9ae60753	0xd7bac02a	0x994f4996
+	0xfe146dae	0x97626cf2	0x9e42c940	0x6e337e36
+	0xb6afed1a	0xeb2fd381	0x934baf9a	0xf832addc
+	0x6f979a6f	0x99487a6c	0x57544e74	0x0c66d838
+	0xa061f71b	0x0ddcd233	0x1848e2c7	0xd4c88955
+	0x6c64fe17	0x9bd44131	0xe582e3d4	0xa005bd26
+	0x703b0eea	0x21bd18c1	0x664a9e98	0xe0590718
+	0xd3e4736d	0x0ff91923	0x5dc8871d	0x31699e80
+	0x61a37893	0x1ae82483	0xe45118a2	0xfecea103
+	0xf41828d5	0x4ed049d7	0xdfbade95	0xd238ccf9
+	0x992a8e55	0xa09b38ba	0xcfbd44d9	0x91504f56
+	0xdaa43955	0x1b33f9f3	0xa78246cd	0xa8fd012c
+	0x45af83b9	0xaac19610	0xd89f53b1	0xffd31eeb
+	0x6197b65d	0x7f47d34b	0x6e93fdfb	0x595a289f
+	0x385174bf	0x6f3496b9	0xe49b3f1a	0xfe745cd6
+	0xfdb24e8e	0x6269a7ac	0xa8deb024	0x959a4ca3
+	0xfb164ad5	0x0a74d852	0xc022a450	0x7c46bbb4
+	0xb2cb2e2d	0x1fc8d084	0xd1cd2aa7	0xf301e029
+	0xd0d8bb65	0x89968da9	0x05409da8	0x24134907
+	0x48c6a151	0x390da0bc	0x32816da9	0x6fdda0f8
+	0x7a5e60ca	0xc500eb10	0xdbd2126f	0x22dc1c8c
+	0x165efc8e	0xc52f4553	0xe4488f60	0xbbbd961c
+	0xa965f0db	0x256cafb8	0x35b82b80	0x1b9bbf5d
+	0x69aa3130	0x2f5402f1	0xb7db92c6	0xcdda626d
+	0x9d50e8f8	0xd75b2b43	0x23869cbb	0x18f1fc43
+	0xc4500abc	0x7b22b871	0x93d281b7	0xe72b7f91
+	0xb8a3d2f7	0x40de9703	0xfde8a07c	0xff614acf
+	0x14ba7173	0x4c9d758d	0x67ba546f	0x6edc57de
+	0xe3397593	0x6076ad6f	0x54bbf0fb	0xc7aa004a
+	0x9099bac2	0x43001c2e	0xef39dc79	0xfbf16c39
+	0x43d3b4d9	0x4e1ccb60	0x0a5770ee	0xfeb0bb21
+	0x8f5ef605	0xd69a2259	0x5ae00282	0x81422a35
+	0x537fcf9a	0x740907f9	0x1e980cf1	0xfaf41103
+	0x8554081f	0x9044d4fa	0x9349fecb	0x2e12081a
+	0x9c63d3ad	0xb02fc0e9	0xb9f71ff1	0x7ffc123b
+	0x221be745	0x6b1378b4	0x283d86e2	0x24fbdd88
+	0xecaa1214	0x0e2a05b0	0x49256317	0xe1efbdd1
+	0x2b40232e	0x8a44c71e	0xe5ab10ac	0x55baf697
+	0x57c9cb8c	0xef2cdf39	0x9e28e29c	0x82fa8623
+	0x85090ab9	0x4bf3c17f	0xeb34b5e7	0xbbffc965
+	0x9be897b7	0x7a54a66a	0x0182c5b7	0xfbe04efa
+	0x79a3aedf	0xb04bdde6	0x12396b09	0x7f2eea54
+	0x139fced2	0x2ed4e710	0x8e587a3e	0xc1150171
+	0x3d4475eb	0x3bd4dcbc	0xd15a4ee5	0xf6a03e6d
+	0xd6946d8b	0xc7f12861	0xb46f2665	0x4778aaaa
+	0x90fd4944	0x91b58ad9	0xce88f970	0x6b002000
+	0x3942bf93	0x58560cb2	0x555f27b8	0x51e7e2cb
+	0xe8d32c0a	0x76979f1c	0x0fbbef02	0x784ee6f6
+	0x72e1f85a	0xd2006d22	0xe142e64c	0x0e821726
+	0x0204234c	0x76aff6dd	0x72c02389	0x79674b40
+	0x48c827a4	0xd60a816e	0x4361e2a7	0x20575b11
+	0xc0a15faa	0x1bd24f4f	0xde97121a	0x886610d9
+	0x3c1488dd	0x74331a2c	0xb80b075b	0x1cbaab02
+	0x310e08f5	0xe7e63832	0xf5559bc2	0x5939166c
+	0xfb966138	0x2c192ef1	0x3022c840	0x4760139f
+	0xfc9e25c7	0xa40b3af5	0xf960ef95	0x4bd0fe44
+	0xf951e214	0x320d1105	0x3886b597	0x90be3da2
+	0x16b5e7ee	0x81b43af0	0x4a83b571	0xea294a6f
+	0xe879058d	0xb80d4a36	0x4f3807d6	0xee2a3d4f
+	0x90fd7abf	0x76a13008	0x3a31e37a	0x60cbe826
+	0xfddf43df	0xeb00f98e	0xb22c6cf8	0xc17d7ca7
+	0x82c1b9d2	0xd8408d4c	0x349a8c22	0x55273d19
+	0xc841f4f1	0x6d54d550	0xcc41b69b	0xc7365812
+	0x85f41eea	0x432850c3	0xc27c009d	0xe397479c
+	0x86fe387b	0x578837d7	0xbe61890c	0xdbb0ccd7
+	0x7be07b26	0xeb6f962d	0x02e3e226	0x490c78fa
+	0xba8357ca	0xe0e28646	0x098fdd96	0xaf92d911
+	0xb94371e8	0x2f172a39	0x548d45d0	0x30fad17f
+	0xfb74d606	0x2f5cbfa2	0x25f720a7	0x9bb55ff9
+	0x95af7efd	0xbd078a82	0x67acecf6	0x5890b891
+	0xadb4266b	0x4de99f69	0xa6f5513d	0xc639cde0
+	0xadf8f9db	0xe49c0753	0xf7abf355	0xccbc3ef2
+	0x4da3b1b0	0x6b4930ae	0x0e4dcc32	0x44d27988
+	0xd8a0742a	0x85f9141e	0x4af69334	0x3b02912d
+	0x8d90147b	0xecdeb8e5	0x8c5c76c7	0xf64f4537
+	0x4c2e07c6	0x6caa89b2	0x22fbb640	0x75540372
+	0x07c538a5	0xe3dd71f7	0xd54e1233	0x2bff75b2
+	0x1b65ed38	0x5d5ee6d6	0xf3d99db4	0xe535f17d
+	0xe9b355d0	0xfb27c862	0x2418a7e9	0x83020f9b
+	0x17c850b5	0xc7a49afd	0xfa7cc598	0x4caa65b0
+	0xe35d78ab	0x5fbe5a68	0xb8b23c84	0xdd30c3c7
+	0x166d9c71	0xce9512ca	0x8ff12b46	0xc4f5a4e1
+	0x772f87cb	0x9910eba8	0xd8f966e7	0x1e7a1029
+	0xbdb95937	0xe8745fd3	0x97bd0c23	0xf08d29cb
+	0x3e144fc2	0x4ea5c2d2	0x4dbb3579	0xb2d6d1fb
+	0x59a9499a	0x07de7cf3	0xe5093e74	0x9620e2ba
+	0x98db53bf	0x0088a257	0x81575927	0x1572a999
+	0x85014396	0xf252e4c7	0x935494a7	0xba6777de
+	0xf0cbee95	0x89224156	0x726f5f9c	0xc6a97741
+	0x438936dd	0x02982457	0x69e0b7aa	0x6b2cfa7a
+	0xd920fc79	0x088f473f	0xbdc049ad	0x26fe03eb
+	0x51ce0c14	0xd4ee50da	0xefba7a8d	0x41d48c15
+	0x2fc64c16	0xb910ee77	0x8fd3c6cc	0xf2ea6eae
+	0x799585ed	0x78bb8529	0xf5e8dafe	0xc4d2e7ec
+	0xacb82780	0xc366cc65	0x786dfbe0	0xf6858178
+	0xc0737f16	0xcd7ac719	0xfc1d25f9	0x9bac062a
+	0xf861f2c3	0x534306a2	0xc885076c	0x228b59be
+	0xb5a03917	0xa49ee2e1	0xd7e3f947	0x2993430b
+	0x936b3a69	0xfddd2df8	0x409bcbfc	0x9a49ea67
+	0xda19b129	0x52d00d43	0x594b5373	0xb3ec4e85
+	0x99ba948e	0xd5a139e7	0x0e309bcb	0x824bdac4
+	0xe846138e	0x8e867ec9	0x3b3b3de0	0xb193c1c3
+	0x1d972fb9	0x37e7c572	0x2312fe3f	0x233675c4
+	0xccbe653e	0x7f33fdcf	0x6dbb5b33	0xa1482994
+	0xb053851f	0xa136a22b	0xab83000c	0x8baa7f8c
+	0xf63ce4d1	0x0add4950	0x1e2118a1	0x778b55d9
+	0x11283afb	0xa0ece7a4	0xd5cf4afb	0xaa425954
+	0x735e7cdf	0x915f28bb	0x9f257f4c	0x35f60425
+	0x428317aa	0xde7e7394	0x903cd466	0xd3b76f46
+	0x440cb5c7	0x926ead8a	0x4ad0bc01	0x589d2503
+	0x36c6dbe2	0xae3cb112	0x8af34336	0x98086144
+	0x998764a3	0xf18c15fa	0x4c6b1e80	0xdbea3a77
+	0xdbca504d	0x48e922eb	0xe7d2efd1	0xb2a55650
+	0xd40359eb	0xd669304f	0x3e0d1323	0x8fdbf002
+	0xb8cd2146	0x4f70e597	0xadb80b28	0x6968f1aa
+	0x5785cb7b	0x09d452e1	0x2a24c269	0xeda3c6e0
+	0x3d3c6920	0xb635c806	0xcc205fd1	0xcc273f90
+	0x92f36850	0xc094ef55	0x99e33eee	0x775ea554
+	0xea124752	0x8b006562	0x38bbcb67	0xd2008955
+	0x14ee116b	0x964f634c	0x5bcf34e0	0x58c28331
+	0x01cbb9c6	0x56df247b	0x8fe03e91	0x9646fe0f
+	0x650d96fa	0xe8c99df2	0x7458f4fa	0x76491d87
+	0xaa84a44a	0x48b0ad6a	0xc0d8c6d1	0xd8ad81e9
+	0x65b48f71	0xd254bde2	0x2f34f225	0x4eccf8b9
+	0x25fa9135	0x3662dd06	0x17c9a780	0x1996ed2e
+	0xadfd4c99	0x613f14c0	0xd80c9926	0x2ef5e5f5
+	0xb06ec784	0xf7e430e8	0x19e9ef08	0xe3ac3c51
+	0x78cb1177	0xaf255850	0xcaa6fb41	0x735550b7
+	0x67eb076e	0xf17b3cb4	0xaa8edd18	0x4aa229c7
+	0x74492140	0x11d71f59	0x8c275a99	0xcb217ed7
+	0xa4273190	0x7d9dab3c	0x934381c2	0xdd6176e6
+	0xdece7df1	0x7ab6bea8	0x303bd86b	0xa9170bfd
+	0xc8412491	0x84da3ea1	0xd57e97f7	0xbe0bb91f
+	0x9efc9c8a	0x1c09a4a5	0x83cf52a3	0xd342460d
+	0xd302163d	0xd05c637b	0x1ebb7326	0x79ba20d9
+	0xc944f204	0x18a78657	0x89542294	0xf7bd975d
+	0x5fd7140b	0xbfc96910	0xdc339353	0x952f97d7
+	0x253d4006	0x99fdff85	0x8116afcc	0x328ac2a3
+	0x4410871b	0x2dfe8e51	0xf45c01a6	0x40217a8a
+	0x0c0d19c1	0xd96351fb	0x3bb0b96e	0x287d0ad7
+	0x5a63c6ea	0x037477b9	0x33ead7f1	0x0183222e
+	0xbd1242cf	0xbce09c86	0xa9efc50a	0xe388da86
+	0xabffd93a	0xcadb61fb	0x94320786	0x36731cf5
+	0x4169fb6c	0x60a3e64d	0x22881d97	0x7eed6b34
+	0xe3e6b7cf	0x011047ef	0x514a380d	0x1063defb
+	0xb5c55e9b	0xf548dcfc	0xaa1d300e	0x5aba83f5
+	0xc02e41b6	0x44925671	0xd7d2129f	0x917539db
+	0x9f5d234c	0x6122338f	0x3f8a847c	0x9e65ba6b
+	0xd28e9f70	0x04e78d83	0xad696012	0x471c8f88
+	0xf42ce5db	0x9f0b9849	0x5db38a8a	0x7fd7d4ca
+	0x244ea3e2	0xf352a9d7	0xa670c8c9	0xab7fca55
+	0xec9c1042	0x625ed8e7	0x31f4ff8b	0xa3a8a576
+	0xec645cff	0x3c971f8c	0x527fdc5d	0x77e4d1cd
+	0xa8746a1d	0xc4b9af0c	0x41d2e8fc	0x62456003
+	0x792138ed	0xe672d51b	0x119befb9	0xfd2b4348
+	0x3b14d25d	0xd36edca6	0xd2f74bdb	0x9ec52dfe
+	0x97b55659	0xee80103c	0x12555012	0x6d4a8def
+	0xf1454d26	0xf5c41569	0x4b6e604f	0x92c0851d
+	0x9f4618c7	0x4e5ad7c9	0x41c7cd36	0xe50a1a4c
+	0x74c5b18a	0x721bddb3	0x8d67f6fe	0x7afdca7e
+	0x0a545134	0x137f4344	0x9e5f2d92	0xafc74bda
+	0x0a18eb99	0xb2718bd1	0x1d9b8d07	0x80232c83
+	0xe962d93a	0xabc0f007	0x204f0def	0xb292a3d5
+	0xdfca18f9	0x34fe2939	0xccb61664	0x419dee6d
+	0x4070f1b7	0x334975c6	0x283a9bd6	0x3dc4a721
+	0xea8bd79c	0xa4401e2e	0xa378d378	0xf03ebd34
+	0x5cd39e42	0x0a4ba860	0x34b26a87	0x9979e96f
+	0x8e872a1d	0xaae3cfc2	0x25876b90	0x8bf1b190
+	0x6864856d	0x4965cab9	0x9c49f4a8	0x7d9efd8d
+	0x313413d0	0x52905c5b	0xd43b4f40	0xb3a1cfe8
+	0xb09d2a80	0x6655a633	0xaee4a3b0	0xdbad5f59
+	0xffa56b65	0xa0bec51f	0x10e511f1	0x3091be0e
+	0xb4899296	0xb6640c3e	0x4b0bfd96	0xbb4c2d9f
+	0x7d6ba4ca	0xe0de7fa7	0x3a7c39c2	0x03d52694
+	0x9af37318	0x0f1f28e1	0x629c5821	0xfb78261e
+	0x34c74091	0xab92d7a7	0x226a753c	0xbdb6aafb
+	0x76c9434c	0xfa167b4d	0x640e7dc7	0x1070355b
+	0x2264b655	0x03ded64e	0x100ff664	0x38d25b67
+	0x6715611f	0xef479b2f	0x8f52b055	0x0789f609
+	0xc84baeec	0x16021597	0xc6d924ee	0x32913130
+	0x8e86b7c9	0x8532fc4b	0x27c9b92c	0xfd9c38f2
+	0x63e8c76b	0x9ba845fa	0xad507144	0x7c1eca93
+	0xaec2e059	0xadf30a5b	0xe9133d92	0x7ef687e7
+	0x5c89bfc9	0x58d8f8a1	0xcd70ad24	0x316ea0a7
+	0x5d0957ef	0x8b630a27	0x2c43bd03	0x7925f21e
+	0x42bb7aa2	0x08bc5d8f	0xcdcb9090	0x417ea6c0
+	0xce5c5f86	0x10112aa8	0x19674618	0x3e3809da
+	0x40c7caf6	0xa0753b11	0x7e718c19	0x50bccb67
+	0xd08e448f	0x5f7cf11a	0xc4fa6c6d	0x9aabb2f8
+	0xdda811c3	0x37b24fd5	0x31fbd13b	0x954355ff
+	0x0a3f8036	0x3cc96699	0xc1d0f52d	0x4e976ed4
+	0xe24ee785	0x3ea3647b	0xc2486a7f	0xe24b8488
+	0xa23f433a	0xd0ec2901	0x079da6cc	0x617282e7
+	0xa65c81dd	0x0651acd5	0x14adbf87	0xb62a352b
+	0x33c9a353	0xbb74a62d	0x97fe7ac7	0x2709dd2f
+	0x1bd03373	0x5fdb088a	0x94b8675a	0xdb3edd44
+	0x378021b1	0xafa448c9	0xedad3e93	0x68bc71c1
+	0xe32f7e72	0x28ad6d83	0x97670184	0x2dfbc275
+	0xc238281f	0xd07c0e6a	0xc3b12738	0xd0af1b0d
+	0xfa161509	0x6af28479	0x6350ddcf	0x5de28d1d
+	0xa2504310	0x1fa39c51	0x41c24f45	0x588cc066
+	0xcc1f3a6d	0x6231cbac	0x2b60a3b7	0xfe35561e
+	0xcf92322f	0x412dce5f	0xf7d5628a	0x4eb7aa88
+	0xd832c865	0x6a97e393	0x1ca8f5aa	0x0fb9d833
+	0x52a134d6	0x11ede00d	0x091040d6	0xbcee0e8e
+	0x3065f06e	0xfed5b966	0x5a304bfa	0xecaba5a4
+	0x71142b74	0x44a849d0	0x7334c493	0xdb5ee797
+	0xe537a453	0x849f4cf0	0x435923ac	0xad3a754d
+	0xa78c3e5b	0xdb062ce7	0x874d85ad	0xc80e3955
+	0x3db9ad97	0xbe5ee26c	0x4627c40b	0x095ffa45
+	0xc2affd98	0x5f4d1325	0x7e4e1cd0	0xf87f1a1d
+	0x5ee40ff9	0x87b4a4db	0x32d4d331	0xc75f8a6b
+	0x79cdb281	0xf7b41e82	0x6e38397a	0x9af320c4
+	0x57da9320	0x154f9f49	0x3451d8b8	0xe3520cd1
+	0xd8df7d66	0x15d80b8a	0xfedf9cd0	0xa86675fc
+	0x7fc8e941	0xf7f21238	0x8966e9a8	0x416da7bd
+	0xc44d7d8f	0xecf21ce0	0x801b2813	0x16545fa6
+	0x3c438b30	0x37200a5f	0xeb8ebb3b	0x6d90077b
+	0x123c3d29	0xef11bccb	0x7b107fd9	0xa4fb179d
+	0x7abc5dfb	0xe4817640	0xd3788477	0xd954d092
+	0xa8b16c03	0x694941a7	0xf499fc7d	0x8d65681c
+	0x8c6016b5	0xce3a995f	0x15ce39df	0x9bd26a97
+	0xfa6c7a38	0xa66670e3	0x0932cac5	0x9a4ebbd3
+	0x4c06bc72	0xb0dcb9c0	0x3598f7cd	0x7557e021
+	0xba16f52e	0x32cd1c62	0x12cfc28d	0x544b3d77
+	0xd780755e	0x340fea59	0xefb9b1ae	0xeada06ae
+	0xaafbc431	0x275071ef	0xe8d19426	0x714a2ba3
+	0x81a7c4a5	0xb5599e4c	0x9637445c	0x4af7df96
+	0x5ffb2f87	0xc0aefa6a	0x30a00ede	0xf8ec4413
+	0x2fb53e35	0x1084dd22	0xc04e8437	0x25197744
+	0xb68a5330	0x1fd2f46b	0xda66de26	0xd0db8e5f
+	0xb782db5a	0x34f4a30a	0x9b249d48	0xb0d081fb
+	0xcc18d9bc	0xe7f0f327	0xd651dee6	0xfa7603b6
+	0x3df72308	0xb6e0bbe3	0x0cea0072	0x2895be61
+	0x30e976de	0x3201e40a	0x9e7421c4	0x7df47822
+	0x82a04ba5	0xf9a16c26	0xd76b42ae	0x5b7f7455
+	0xeda1add5	0x60189560	0x875db6fa	0x1315b3cc
+	0x40c629c9	0xf5033d8b	0x10338d35	0x00f5e8c9
+	0xc15acd41	0xe952cb8e	0xfbf03648	0xfab3a0c6
+	0x3c23ac72	0x8206fe5e	0x831da221	0x67d3676e
+	0x4a64ac61	0x98dc0ccd	0x68ffdd6a	0xa2a0edfe
+	0x534d47a3	0xf79b6154	0x3d2bc073	0x50c2b839
+	0x03932319	0x64342c82	0x92d92fd6	0x9a9ba8db
+	0xefb42d33	0x28d07ff0	0x5db4fdfd	0x39225ab4
+	0x37f24ea5	0xa82e9e1a	0x26c4bd1c	0xcb365ab6
+	0x60553456	0x03efa3b9	0xd7b8d40b	0x4858269c
+	0x0eef7011	0x19d7f85b	0x938e59bd	0x24f33de1
+	0x2d466d05	0x3ac7c2b4	0xbb7af230	0x3ec5069c
+	0x2abe2941	0xf5db8b3f	0x902f1251	0x9a6e0bb7
+	0x1d2cc0cf	0xf65d6e88	0x03365f91	0x3a2ecb53
+	0x4a59e1e9	0x0b252007	0xddd6c5b8	0x1c4d54a2
+	0xc1edf67c	0xb066e206	0x6c8c9894	0xe8426c70
+	0xc9f6ec2b	0x425c161a	0xc585a39a	0x064e4452
+	0x5294148a	0x36c0a919	0xc84d33e9	0x1a5fbdb9
+	0xfaec593d	0xd8d248f3	0x2fb18459	0xcbe7a0ce
+	0xd70e9e1c	0x1afed776	0xecd2959a	0x7d8a5f35
+	0xf1c70be6	0x2650b3c7	0xf0c46fa6	0xbf6bb842
+	0xbf279282	0x4120728c	0x7f6b506a	0x87064748
+	0x0bcbd2a6	0x2757fe8a	0x1db17cec	0x7517ef49
+	0xbec921f1	0x804cb1d9	0xb9217e2e	0xb9ec624c
+	0xcdc5e715	0x30bc1f23	0xaca1b3c0	0xf88bf420
+	0xb5a8ac78	0xe93a9e75	0x0d15ac6c	0x12547703
+	0x57a4e428	0xd1404e52	0x03f6e562	0x168cf122
+	0x08da568d	0xdb96b84f	0x533c183c	0xa9dad7f0
+	0xe2cd7e2b	0xc4162c32	0xbff6345e	0x69307759
+	0x98b07a47	0x08f8219d	0x0d604427	0xc4305cac
+	0x294162b6	0xa15a6c1c	0x04f692ad	0xb8da5cb7
+	0x4839cc8a	0x91488ef3	0x08061887	0xebb839ba
+	0x322ad7d6	0x490ac9ad	0x90ce1d35	0x83bf44d1
+	0x1f988e2b	0x7acf6511	0xfc46e340	0xdb66656f
+	0x9fc8938a	0xbe5afc17	0x7349bf91	0x1c36730c
+	0x3b7f643f	0x06a42553	0x6142e212	0x8fb07289
+	0xc9b53580	0xe927620d	0x0e966437	0x60a4867c
+	0xc93e5e14	0xb5d54cac	0xd1c63103	0x30bbcbec
+	0xbd22bce2	0xf48e5a20	0xab393f90	0x0a265db2
+	0xe4805f5a	0x2d0941ba	0x8a877e27	0x141d94bd
+	0x30ef8a0c	0xfd82b15a	0x36c3c125	0x402c1a1a
+	0x0fa86d0e	0xa195b994	0x4c309653	0xbea4fdd4
+	0xfad010e5	0xb7e3cb7e	0xd5bce9ec	0x0e366de0
+	0xc6515a96	0x68ca6f82	0x73720af2	0x5d9a3be5
+	0x16ea24de	0xeac200df	0x7ebb1e44	0x486bba64
+	0xa8c68872	0x53008115	0x968633d8	0x7b9b000c
+	0x0c1aff43	0xd83875a2	0xcc3e1339	0xf1cf9b3f
+	0x5da5f6d7	0xfd5570be	0x649ee5c3	0x0ad7de54
+	0xe4d4c568	0x04d8521d	0x322df607	0x5d0f20df
+	0xf4a8d682	0xed3275eb	0xf8159013	0x3a7ee2d7
+	0x706bb51e	0xac4fa1d1	0xf7245344	0xb5a352f5
+	0xaf84a731	0x073beb18	0x05679002	0x414a0323
+	0x9eb69396	0x9e57bbb4	0xf5765947	0xcf85bf53
+	0x90cb7bff	0x9aca4c64	0xd87c65dd	0x717cb65a
+	0x6598389e	0x75938c29	0x3a73f234	0x265cb77a
+	0x9fdf49f2	0xf6c60084	0x175963d1	0x27f213af
+	0x0d5a9f2d	0x22593c74	0xce596562	0xb41196c7
+	0x707d6606	0x8d953238	0x61481d28	0x2fe1e9c1
+	0x5dd2d437	0x65f8fa05	0x56732403	0xb989d4f7
+	0x917ea769	0xd4bebdbc	0x13d39d92	0xfecf7388
+	0x6f3597d2	0x76147a5d	0x01c51f65	0x0ad769e0
+	0xd96c281d	0x9983cce8	0x4d2bde45	0x151ea741
+	0x99d61b62	0x0d603ea8	0xfc85937d	0x427d7b10
+	0xe8d15c97	0x13ef1e0b	0xf4f79fef	0x62b76eb7
+	0x21d65b86	0x6a72263c	0x166b02b1	0x36b13710
+	0x2ff6fbac	0x1b853cad	0xbdc93294	0x6f5f6b9d
+	0x06ce7ded	0x49120f04	0xc9e09c7b	0x3d049a07
+	0xb606d45b	0x12dcecb4	0xb50b3b8a	0x7c198d4d
+	0xfa0f1618	0xac7968b2	0x33eb7dcb	0x07dee874
+	0xcb4d9d96	0x66eeb30b	0xef1ebf3a	0x06c281b9
+	0x44bfdd0b	0xbe4936c8	0xff238c39	0xc87beaf2
+	0x7b3b032b	0x87e37014	0x09a4a1c5	0x2a60e1c8
+	0x1bd67945	0xbec8a12e	0xf1837ea6	0x7a9a4aff
+	0x7b0a9211	0x00e8551a	0x1f2b699d	0x9b38fdea
+	0x43c58686	0x1d98737d	0x0f772a4d	0x7660c66c
+	0x3bbda6b4	0x42df1fb1	0xc1c5aeec	0xe5f13157
+	0x2926d26c	0x57ab1234	0x47626eb8	0x8b55b251
+	0xf0a4dccd	0x6dc4e449	0x1573d97f	0x26f463c7
+	0x9a87f877	0x19b07943	0xeafc72a2	0x9723ada4
+	0xab30aacc	0x1d6df35c	0xd1c891ba	0xe93769c8
+	0xa58ba86a	0x5d13eca7	0x29d0280e	0x1fb8c99e
+	0x5caaff2c	0x7cbcbdc9	0x64d2cfe7	0x7586ca1b
+	0xdb371ead	0xc5c037b8	0x80bf52bf	0x3d3c3ad2
+	0x6b7e425c	0x113409d4	0xa5e1aa77	0x521317f1
+	0xcc3b148e	0x7b99be8e	0x8362b991	0xc7bf1ee7
+	0xdfbb5ddd	0x94edb425	0xf0ae4ea6	0x846a026b
+	0xeb8befdc	0x54090284	0xdbb22f07	0x8aa40ce0
+	0x23fe1e1c	0x47f383c6	0x3e7e8fce	0x0e533a25
+	0x8a31b356	0x6dfc7274	0x2de64ecf	0x941161f9
+	0x85e6296d	0x25d0f616	0x0a818f46	0x8ba2e331
+	0x3193d742	0x4aad0883	0xa97e4d89	0x6c380aa3
+	0x7cf9f824	0xf4b0880d	0x2105a500	0x4b21aa24
+	0x85a37c7a	0x8b6e6ee0	0xc6907e75	0xd289dd04
+	0x97859658	0x056e5df8	0xbc67be96	0xaf5b7d8d
+	0x70426841	0xe8910781	0x3a2a84cc	0x029a8b16
+	0x4a01f9fc	0x56fc8172	0xa406a272	0x86c6995e
+	0x902a269c	0x3e2f46c8	0xdf628cad	0xe9c917ca
+	0xb2fc0fcb	0x1433c09f	0x720db1ee	0x66372abc
+	0x29e7b946	0xa8f8ae57	0x94a75fb4	0xc5b89188
+	0x46aff2c6	0xcaef0590	0x5c3c8f11	0x1f89b174
+	0x1536e302	0x456b8947	0xc7449e60	0xabbf6bbd
+	0xd7dfa543	0x243a10c0	0x58f4ec8b	0x0bd3f346
+	0x6a7f8d3d	0x9615e391	0x63810f52	0x4679abe7
+	0x35060bdb	0x90518f32	0xef673aec	0x3b119149
+	0xe61749bf	0x105aae24	0x134e5f31	0x7773bf1e
+	0xa317a8d3	0x136a9ed5	0x18d9b8c5	0x2d9ef922
+	0xc09d3a82	0x2fd65aec	0x3c9c867c	0xe13d79f4
+	0xe8f10d6d	0x367416b9	0x08cad24c	0x634ded9c
+	0xff5e5041	0xb95a0220	0x90941112	0xad6a6fae
+	0xabbd6a68	0xda8df1bf	0x64ecab3e	0xad163a7a
+	0x4bbf0be2	0x92dd3c4d	0x14e405c7	0x7259c058
+	0xa925a2f9	0xbe6343c3	0xde477a54	0xbe622353
+	0x68e87028	0xa0e7bef2	0x907c2d70	0x0717cb56
+	0x60162a22	0x9279454f	0xb4bc4db0	0x1444a062
+	0x46ff359c	0x7ef881b2	0x882bc1b5	0x5a5547f9
+	0x9d288801	0xe5e9be86	0x8c22d3fe	0x2c9cfd0a
+	0x1fad5fda	0x23ba1388	0xd0af08a0	0x4f218b5d
+	0x372a023f	0x498a3301	0x37d89270	0xc7f3f2d0
+	0x5bcd1b11	0x3cae2643	0xdb8a3acf	0x760b973d
+	0xea3476ac	0x09795d63	0x3a926c84	0xf668f08f
+	0x962aa19b	0x4a9d8ba5	0x852ec947	0xe742453a
+	0x86436cda	0x12632bd6	0xffd300d7	0xce3e66c0
+	0x1d8fbfa7	0x74dabeee	0x629376c8	0x8dde3458
+	0xbe7f9e18	0x1eef9cec	0x7f026424	0x919e5361
+	0x009daea3	0x66d9ac59	0xbfa09c85	0x86f78426
+	0xd82a9ca9	0x94cec335	0xdbef6b65	0x0507c651
+	0xbb34d330	0x17bc84e0	0xaee42b53	0xcb41b21a
+	0x25b45399	0xea54d11c	0x57e7b13a	0xaec71577
+	0x18fa957c	0xda47937a	0x7d0c72a6	0x2ce6856f
+	0x5d513cd1	0x48560d4b	0xd0505c7e	0x75060791
+	0x8ad85f16	0x8ee29517	0x029144f3	0xe811ce82
+	0x49790987	0x890a38a8	0x4959350d	0x85120232
+	0xc40d93f6	0x8419b3f7	0x3d1938d1	0xa0fb7571
+	0xf2a22104	0xa8eb4259	0xe6b69491	0x6367059c
+	0xc5f4d067	0xfbb99b36	0xe22a7fac	0x1aa67168
+	0x4e352bcd	0xc02b9339	0x4dcbef0e	0xe72cb674
+	0xe91e6e6a	0x6ded5223	0xe8520b54	0x842d4e80
+	0x4caf72dd	0x40eeb737	0x7c213234	0xa169be4b
+	0x6a88b02a	0xce540994	0x280cb749	0xa5c13190
+	0x0067bae1	0x26254839	0xcab1fc69	0x630b961c
+	0x8275487d	0xbb8b20f3	0x757de8f1	0xb652de6e
+	0xfa845694	0x4aeb9f77	0xf477f13b	0x18f42a8c
+	0xfd6a12f9	0xa97f9a78	0x8b56105c	0x765f4381
+	0x1ac648d9	0xea0b5b90	0x526bf787	0xe975c883
+	0x8cf8c115	0xa9d20628	0x3f663ddc	0x6e1bb3f6
+	0xf3852873	0xb8296270	0x7e3c9e91	0x45e48c69
+	0xb1a875b1	0xe4a210ed	0xe2552d56	0xa78fad94
+	0x970ff726	0x95a4beea	0xf9d5505d	0xfc87ac3c
+	0x179da815	0xee295504	0xecccdf4e	0xfe9786a2
+	0x9536ae1a	0xc130fc4e	0x10e2738e	0x27aa298e
+	0x96613a99	0xcd92fe53	0x8e7b1cb7	0xd708df30
+	0xd45c95eb	0x34d09a74	0xa746f62d	0xbfcbceb3
+	0x925da8da	0x0da0aa75	0xe44f0e36	0x06982962
+	0xe5471959	0x56a37f36	0x7a5c58f5	0x82386903
+	0xa7e18350	0x3c00ad76	0x33affdea	0xa179837a
+	0xfcafe757	0xd0b14701	0x7f9ec58a	0x878407f0
+	0x229afe49	0x2d6345bf	0xe3399a6f	0xf01376fe
+	0x689f49eb	0x816b6543	0x4c6735cc	0xe596f327
+	0xca2604df	0xf089bd37	0x2b554507	0xb830a463
+	0x2fef8d6c	0x9b70f1dd	0xae54c418	0x899e40a5
+	0x85ecfe99	0x8016eb0a	0xefd1150b	0x2e3b2e2b
+	0x8d9a2ce2	0x94af20ef	0x96d16f0e	0xa1644c8f
+	0x7181fca0	0x79eab0b8	0x10c0e6ff	0xfef780c8
+	0x54202790	0x470e8daa	0x2e63a9b4	0xd3e91716
+	0xd435d270	0xe63f7af3	0x2eb78830	0xf4c6f669
+	0x27240ae4	0xe6206d76	0xae9639c5	0x9299d54b
+	0xb8bcbf88	0xa2b90455	0xc94aeb91	0x5b23387a
+	0x18434a0d	0xcd8562b4	0x787d88c1	0xa00161e5
+	0xc5a526e2	0xa4ac9832	0x377cdd34	0x7bd3e6b5
+	0x9b19c204	0x208d76d4	0xc22dba4d	0x7c72c839
+	0x4aa16eba	0x1dfbcdfd	0x824f3395	0x560b6ffb
+	0x9cdce848	0x925b6be9	0x37649256	0xe1e06b14
+	0x34ba53b1	0xa81b7478	0x9ae2578a	0xab07c5ef
+	0x496f97f1	0x40ba5c08	0xd34fb442	0xdbccf108
+	0x24211f41	0x9a3c6829	0x1ea2c1c3	0xb3545a48
+	0x967a5e54	0xaf506484	0x6cec3593	0xc1bc8d22
+	0x35142a18	0x8352db87	0x18a9c31d	0x900c54e3
+	0x0e07f4e7	0x8fa7248f	0x80c2af22	0x115c188d
+	0x14d68800	0xcfac8e36	0x777cb6a5	0xc1f2879d
+	0x23fc81b6	0x2c864c6c	0x0e8dfe68	0x451fd26a
+	0x4b65b016	0xe3a5141f	0x8323b451	0x62e5cdba
+	0xec14db6f	0xc8de546a	0xe29e8674	0x187681a4
+	0x31d91dd6	0xbf21549f	0xb670f1f9	0x2accef94
+	0xd9255c53	0x1ff2b607	0x69dcef61	0x5806864f
+	0x736d774f	0x44701bb2	0x6007ce5f	0xcbcc4c13
+	0xfb7ef6bb	0x6f2ea43d	0x791bad8d	0x6c0e4c02
+	0x600853e7	0x95258757	0x4aaf3143	0x4ffbee3a
+	0x166847a5	0x1b5b21e8	0x3d56cf37	0xc11e2fa8
+	0x7df56f7d	0x4f193858	0x36da7870	0xe29ae1ab
+	0x2571f278	0x7d81f452	0x37ed737d	0xe4d109d5
+	0x8b0d7bf5	0xdd8fae7c	0x1691cb26	0x94bf321f
+	0x8aad839c	0xafe85792	0x694eb2c8	0x8a256274
+	0x48dd295a	0xd07e2d18	0x031b5e4c	0xe9059897
+	0xf98cfd9a	0xe46dd735	0x1185fea1	0xa4123e79
+	0x5f123825	0x54b6b92c	0x32cf6a3e	0x3ab5bb75
+	0x18cb657c	0x0971a1bd	0x70aefd2b	0xfa48beae
+	0xd6a57c5b	0x289ffd4f	0x9feb0a93	0x3e19add2
+	0xe99862e3	0xf0db195a	0xa28af96f	0x9a22b6d1
+	0x077800de	0x74687d2f	0x77bf648b	0xb0e6b32b
+	0xfc91951c	0x0b30916f	0x6bb88661	0x7e99e24e
+	0xb35ab07f	0xdcb43d79	0x578ff682	0x5d8e242b
+	0xe5643628	0x3b84abc9	0xeac7cd6d	0xe811eb8b
+	0xae728ed5	0x0235b55f	0xa0b6d2e5	0xca735341
+	0x4bb6eed1	0x3a0336f5	0xdc365965	0xe159015d
+	0x89e52c09	0xc3d9429e	0x4638e951	0xdfad21b8
+	0x0650f1cb	0x61b2df08	0x0bca3a7b	0x58def8bf
+	0xf9be3645	0x475c2308	0x4f3808f9	0x472a95d5
+	0x9f557c1e	0xb6427b22	0xa5edbb0a	0x8a0787b1
+	0xda40c48d	0x445e50ac	0x8c01527b	0x21dc6254
+	0x14bfaee0	0xeca3a219	0x0e2dbdf6	0x6ab66c33
+	0xbd20d715	0xb65e8e67	0xec888c3e	0x5023fbeb
+	0xad4c82c4	0x5f793ba6	0x28d79a02	0x23948e5b
+	0x6f1503e1	0x37604f55	0xa6bcdbd2	0x998bc834
+	0x8f372c52	0xdfe4110f	0xad098b4d	0x3d49720e
+	0xa229229e	0xc2c0cf38	0xbe32eafe	0xe992cae8
+	0xe19c55ff	0xfb38fc31	0xcaf2c5be	0x3a61f1aa
+	0xea316472	0x3973d416	0xd047814d	0x5f86de99
+	0x09f5d09c	0x220c0773	0x93c04b91	0x99f3099f
+	0x5fd0948c	0x8abc9565	0x70818172	0x7dab758a
+	0x50415032	0x77bb8a97	0x527c0cfe	0xb9c3b837
+	0x105822e9	0xe286154b	0x1c00f912	0xfe7825c8
+	0x9b76bd3c	0x0af6a65b	0x23215707	0x8836d3c4
+	0xf44ce91d	0x417b6212	0x8f28ec23	0x3f0f597f
+	0x2caaa865	0xd7ff95c7	0x4d4d4458	0x732a75b7
+	0x1d3031c4	0xf8ad5064	0xda73dc99	0x431864af
+	0x38d7bbd5	0x332a2d0c	0x347e68ea	0xbfe2ecf2
+	0x74f6ee17	0x7cdf983a	0xef7dd066	0x1262bdc0
+	0xa7efbccd	0xf3ba76b8	0x3815f62f	0xa1fe8170
+	0x52897deb	0x20f8dc2e	0x5a8953f4	0x8fcc182b
+	0xf6d4dad0	0xfe7fa13a	0x1778ee2f	0x2f289b50
+	0xd9f69db2	0x32d125b0	0xa3ca42a3	0x3075c1d2
+	0x59e7b61c	0xa734845b	0xf183a080	0x9530fa32
+	0x6c59a39e	0x420410e1	0x9f76df13	0xdda0a047
+	0x0073a389	0xe55e57bf	0x926c3ba1	0xa9a94122
+	0xa1283d02	0x74f1e874	0x332b8e81	0x812f3e9e
+	0x81577778	0x30d86799	0xec4960ff	0xd446557a
+	0x49f05905	0xb9fef70a	0x30d403dc	0x6a4498d4
+	0xdc1a7e15	0x445bb9a5	0x1455ba4c	0x9d4a37a4
+	0xeec57bb1	0x34ac00e0	0x7127c2f7	0x44b5a260
+	0x9c71f1f8	0xada2be3d	0xe1cec205	0xc163f099
+	0xe0dca849	0x86ab7f72	0x5c6f4c92	0x93b0eb07
+	0x7ec203f2	0xcc399989	0x75bb2533	0x89ec7a1c
+	0x118371b3	0x7497d553	0x03f2d03b	0x7e7b4d81
+	0x478b1cb4	0xe4801e36	0x808d7527	0xbc1d3ea0
+	0xb297b06f	0xa579d810	0xf07aea4f	0x9e6dd0ef
+	0xad0240bb	0xfd5b94d1	0x0f8037fa	0x944d3fff
+	0xc6fc7d3b	0x4c9761f3	0x68440387	0xc0496074
+	0x32cd1609	0xd67b2de6	0x700adfc9	0x2d284f80
+	0xcc5393b6	0x32d83e64	0x2ac02cc4	0xb759a6bd
+	0x9d8a2f64	0x2ef1b8d8	0x0f574410	0x4cb81db6
+	0x922af2e1	0x56231889	0xf4353d11	0x6d6e9050
+	0x4523c317	0x229d9291	0xbc16016d	0xf1381dff
+	0x84f6e1b7	0xc7378275	0x7045561c	0xd4736ef9
+	0xb863b8bf	0x902bfe68	0xb0811fda	0x9df8d9b8
+	0x6ad9c691	0x4cdf381d	0x68be4e7d	0xd03f2cec
+	0x8166ecf6	0xdcf45f29	0xfbbc6dd0	0x791cf886
+	0x3639c902	0x1f1dab00	0x1abb48ce	0x9f2f4d79
+	0x992b2df2	0x44e8ae22	0x7fa777d4	0x62f1a754
+	0x57448154	0x662948e3	0xe50c5f0f	0x83adfbc2
+	0x669f3fd4	0xf4bf4a87	0x0a1b01ce	0xef6471b2
+	0x49778a6e	0xe470e785	0x5fb3cb5a	0x9767dad7
+	0x04c4f262	0x9cc1944a	0x8bf5062a	0xd316b454
+	0xbed231df	0x9f9e1984	0x915c06ce	0xbfee9689
+	0x6d1b7d27	0xeadc62e0	0x85fe6b06	0x97a92ce4
+	0x879344a7	0x8ce19261	0x48508a42	0x7f63ec53
+	0x05de4fea	0xef725c06	0x23c17065	0xa8c4ab97
+	0x8e304029	0xf25c4857	0x3ddbaa04	0xfd325479
+	0xd6eb3fd0	0x25f8ed38	0x67e70d61	0xe894d72a
+	0x5fc7779a	0xa862b7e4	0x27a93aee	0xa3c8807f
+	0x1dcd0622	0xb90b336c	0x7b89617c	0x300bea80
+	0xbbfb1898	0xd61dee74	0x80ce1142	0x4829c4e9
+	0xbe50282b	0x41a5ed8e	0x27150e7e	0x86f18198
+	0xa9bf6e31	0xe4f36079	0xa5c241ab	0x61ab2326
+	0xbf7be24b	0x4c87e8a8	0x170a4d05	0x05941c41
+	0xd0ea7712	0x505b8ad5	0x33ab4e89	0x334ea7de
+	0x32119057	0xfbaeb5e7	0xd00a75b6	0x8e467276
+	0x8260a778	0xbf2d6a39	0x139ef440	0xa7b44a0b
+	0xca0a2442	0xbfd7790e	0x353f6026	0xa418156a
+	0xabc15fad	0x365ca72a	0xb9c5f379	0xeeb91216
+	0xae8a7e67	0xff621bc6	0x5f6767b4	0x703e08f5
+	0xa91b4d87	0xcbbeed4d	0x0f7aeb4f	0x7d7b88a8
+	0x3144ff32	0xbbde4be4	0x1a9af3b1	0x218b80f4
+	0x000342ef	0x0752f7e6	0x98ccb7bc	0x58fb806f
+	0x32b3a302	0x67435abd	0x7462e773	0x3cbbb910
+	0x391c6346	0x939e79b3	0x28cde352	0xbfa8866b
+	0x8a4dba83	0x14dcb04c	0xf2f9f462	0x5fdf6d07
+	0xf0a8de85	0x63046ef4	0xbc007be0	0xa5014d97
+	0xb966e6e8	0x31308a90	0xd5fc5756	0xdd21483d
+	0x4ab980b8	0x48b8708b	0xdcdb9363	0x9188fcc3
+	0x790c58d6	0x2c1e2cc3	0xcc621f2a	0x4c36fbc2
+	0x739f934e	0xf666cf77	0x5082421a	0xbe98a7d6
+	0x722fb2d0	0xb8bd4af7	0x371c6eb4	0x13141930
+	0x73320cd1	0x2085f28f	0x49dafcb8	0xe5627dce
+	0xcf40e9f5	0x279fb8b1	0x61775564	0xf9751e18
+	0xc9a50230	0x54aead9c	0xf295e9c1	0x5edfcc4a
+	0x965eee7d	0xd4a0fb0f	0xbc1c32bc	0xd63bb4aa
+	0x9f5e3cfd	0xf0f1f047	0x1a1bb313	0x762a6e08
+	0xd1e112fc	0xd07737cc	0xeb85de60	0xa81adb27
+	0xf56a8804	0x927e4a07	0xa03f4c55	0xa75c038c
+	0x4aa72639	0x856b7a63	0x8e0b5b09	0x0b650c8e
+	0xdce67a0a	0xb093aaa4	0xee9c495a	0x397c9b72
+	0x00201e9a	0x0f3654d1	0x44303f3e	0xdc708b39
+	0xab8bd5d9	0x1ed28dbb	0x1e91ab78	0x9357e946
+	0x0591f394	0x3f174806	0x7e5363e2	0x10d73f05
+	0xb18094b7	0x5c0cd26b	0xffa4c529	0x914ded6b
+	0x247a68f8	0xec8a2133	0xe368fe87	0xf18c26fb
+	0x8e442fff	0x39ea6ecc	0x9743be65	0xcac5d694
+	0x24c4bcbe	0x2edee596	0xbd052bd1	0x70adaca0
+	0x30c241a2	0x62b3f644	0x061f6b48	0x2fb91a6f
+	0xc92df68d	0x73d41f19	0x3c18cae5	0xa04fbf36
+	0x0ee5c645	0xee7973d9	0x7eee5dec	0xf11a3fc3
+	0x06acd8c5	0x8ea5b050	0x652b3270	0x0f1e47fd
+	0x82ba02c9	0xba7622be	0x9031734e	0x29e08f94
+	0xe204f41c	0x95d57dde	0xc178791d	0xb4af2e68
+	0xaf7e788a	0x17925d4b	0xdf417ecf	0x9193b6b0
+	0x1ca32a5a	0x767d122a	0x0718eea6	0x1da6aaa8
+	0x30497c08	0x32a6b264	0x7e0d781c	0x040010c3
+	0xda2d6754	0xa3f9bb71	0x40ca8c26	0xea70e76a
+	0xc90365e0	0xe6102f4b	0x728b93fa	0x8c9b288e
+	0x9acf17a7	0xe1164350	0xf0103d84	0x3201abfd
+	0x28e96191	0xa85a975f	0xfd89e4c5	0x33b397e3
+	0x688bf58e	0x69d4bfc9	0x38d9d38d	0x395c61c4
+	0x46b33a28	0x59d8b30d	0x5fcd406a	0x36dcf494
+	0x3e6e1d45	0xdad47f30	0xe23d6c85	0x05c0f5da
+	0xb2eb2523	0x617f5209	0xc4bd50ef	0x9a40d446
+	0xf6706e43	0x8a41211b	0x141e5cdd	0xe5f4763d
+	0xaadf5d59	0x34ecff99	0x4ebc45d5	0xdb4b1578
+	0x33ec85da	0x67ee6b0f	0xc5789628	0xf67e6663
+	0x1b19bab3	0x58620745	0x3e1929b3	0xa3ef35c1
+	0x6233b038	0x928c9bde	0xfc1a74d9	0xe290e8e8
+	0x2dc2b3ce	0x13533357	0x865397bf	0x551b56cb
+	0xce7a7ef5	0xa3788428	0x7eeb6f73	0x7537f3ea
+	0xfdd77af1	0x35343358	0xca248bee	0xf3726d8b
+	0xbd027aff	0x43cbbd5d	0x4627b904	0xdcaed70a
+	0x3f17a9df	0xbf2158fa	0x6953f389	0xb2bb4bcc
+	0xfd56ff25	0x482cb729	0xa7c7d9cf	0x029c2e69
+	0x4f3605c6	0x4f148ef9	0x29b6c0a4	0x2f556532
+	0x6a298f9e	0x25945e4b	0x0a464d76	0x1fabd60a
+	0x7f4c7d56	0x3b138677	0xa4d89ab4	0x5ccd85fb
+	0x8c39f4e2	0xe77261b0	0xc3f3e6e5	0xdbf298ac
+	0xe18fa767	0x89b19fed	0x65f32b00	0x042d50cf
+	0x769900d8	0xf2c8dcdc	0xcddd6fa8	0x125af4db
+	0xff808661	0xfd607112	0xcd9b7d51	0x65189811
+	0x125c6011	0xec46f0b4	0xabbaa61a	0x35e5ab40
+	0x0b66213e	0x8f0b1471	0x54a54816	0xfd70f393
+	0x8efe0bcd	0x9727c46b	0x3f91f2b7	0x60d13926
+	0xbf074154	0x5ff54e1b	0x9b7aace3	0x5507beb8
+	0xb54dd8b3	0x4bd21318	0xc16e8f89	0x75aef7e7
+	0x42520647	0x71cc3319	0xe9bcb41a	0xd0b016fd
+	0x98fbdf6d	0xb124aff6	0x81b21f00	0xf5025987
+	0x629e381b	0x3d971a74	0x2d20c3e7	0x1f990330
+	0x9798ef1a	0xab4c06cd	0x9bcdbde3	0xf58187f1
+	0x5349ee2d	0x9befe269	0x92512cb4	0x7a90a7fa
+	0xc8bcb803	0x7213b43d	0xc54b82ec	0x57395c83
+	0x80483b13	0x9d9e3384	0xfe9e19f5	0xbd75b346
+	0x445ecce5	0xf549df86	0x43abdfdb	0x579c16ea
+	0x2d838513	0xd8c030a2	0x0f26f21f	0x86dd65c7
+	0xa56f5587	0xaae5e6eb	0xff6cae9a	0x2b6a5082
+	0xe8cfea92	0x426e5b12	0xeb6b5e11	0xef748b88
+	0xa7c52873	0x884b93ae	0xeec07e07	0x7f822b08
+	0xc88c1c51	0x2fdfbfcb	0xde46bd4f	0xc0f72284
+	0xe5afdd1e	0xc831d473	0xf3b02b32	0x610530cb
+	0xdc57ebbe	0x0789b8b2	0xb1e004fb	0x98954e9f
+	0x56e27413	0x840b2e16	0x53af5141	0x05cc609c
+	0xa5652e91	0x982ae5ed	0x757c75a6	0xd31d253f
+	0xbff9ff00	0xf7dedf5d	0xb7a15617	0x514aff52
+	0x4c04184b	0x9e7a31e9	0x31485a41	0xead3407e
+	0x50e1cecf	0x601f296f	0x85d903dd	0x54308603
+	0x877a8cb0	0xa0f0949a	0x3cd9dc5e	0xa62b3ca1
+	0x79db50f1	0xa49b5ffc	0x7afa975c	0x1007d484
+	0x7700bc31	0x2b8431ed	0x8f1c2ccb	0xd26b396d
+	0xe6a2abb7	0x64f78fa3	0xace8788a	0x8ba6f357
+	0x01cb3b57	0x60ea304f	0x44bc28f1	0x2e16fa08
+	0x4e9a2b65	0x89c2a14c	0xc521051c	0x2bee04b1
+	0x10c0bb27	0x1ab75887	0xd819df0d	0x0b21368b
+	0xe924da32	0x628af541	0x6d6eb08c	0x0a418b53
+	0xac19e5cc	0xb2704fba	0x759df88a	0x76df6bdd
+	0xb2ed3a34	0xf52af31a	0x44f6fb45	0x8885764b
+	0x6397d609	0xa5803b66	0xbd3c3ee9	0xfd91fc62
+	0xa92ad0e7	0x4075feea	0x1b73b846	0x1840a431
+	0xc23ea4d5	0xf4be4c2e	0xe45fb99d	0xbc96c887
+	0xa707bacf	0x40adabb9	0x2b1a8d08	0x05d5f8e2
+	0x94578102	0xd032c431	0xe633de5d	0x9fa46925
+	0xe4f78f93	0x09b5a508	0x68797087	0x75a4cf41
+	0x68f34d2c	0xbc9d676a	0x939c00ec	0xdba51b90
+	0x9bdab841	0x96c079a3	0x4c926224	0x046417a3
+	0xa3090fe1	0xe2395840	0xff85d732	0x16eb0672
+	0x1f2b4c36	0x10432695	0xea175319	0xac6b4fec
+	0x22abeca3	0xaf42dfef	0xed67fef5	0x556b9185
+	0x79318868	0x013082bf	0x882b4c74	0x17232518
+	0x5ab0b8a9	0x565064e0	0x61bde558	0xc2f9f27d
+	0x08d57cec	0xe02dd914	0x7e9a5972	0x856d0859
+	0xe5488341	0xa0dd98de	0xa3c88a46	0x22c7bbce
+	0x5924efc2	0xd15e2a36	0xfbabdd34	0x19e4838e
+	0x1510c1f3	0x70f94986	0xde0505a6	0xe34df2cd
+	0x39bc87ba	0xb0b6a36a	0x35bfd415	0x8b71c8e8
+	0x074bf788	0xc7322d81	0xdfe4c9d3	0x14e4a913
+	0x1d559696	0xc539cac3	0x91b6dd2b	0xc198e564
+	0xc762ea2b	0x8b7f7f5e	0x3928468f	0xbf5e5a5a
+	0xe5151ed4	0xf7abecf6	0x379c3bde	0x81ca5b6f
+	0x6da09c5a	0x361d2f8e	0x7b38f326	0x0906a7ab
+	0x1afafd4d	0x24fbcb5f	0xf02ed4a9	0xad2f8a2c
+	0xccac956a	0x9a906a0d	0x55742842	0x08a7d782
+	0x250e3581	0xd2328a15	0xcf943410	0x0c90aabb
+	0x158fb11b	0xfb4c7ec3	0x51784a26	0x00b63b38
+	0xfa9d20fe	0x6c3f5841	0x91204efe	0x70471fcb
+	0xd7158a2c	0x09dc4685	0xefa8ef7e	0xd9e5c6b1
+	0xfcc7c7f8	0x8f6fc8c1	0x4217f7a4	0x41e6d387
+	0x26b12c91	0xe547e92f	0xe0a03d8d	0xe37b6003
+	0xccd60f64	0x43a58a44	0x83ab597a	0x084b5c9a
+	0x73f053c8	0x7590140d	0xad7d7fb7	0x9f1c8d60
+	0x2f96ec1e	0xd73ceb36	0x18c9db5a	0xb144c70f
+	0x745ca3d3	0x4b6a2615	0x09b7a09e	0x5c9e6f60
+	0x60431f35	0x13fb02c4	0x6a6a2aee	0x0052d8e0
+	0x3f120080	0xef5b3906	0xaf071511	0x981b4584
+	0x7e21a2a6	0xe6fd2e96	0x67f460e0	0xc2f8f323
+	0x22538f24	0x042f44e3	0xf271ed0e	0xa6fd7882
+	0x0a469528	0xd1997489	0xa005e740	0x1b37ed35
+	0xc546aa6b	0x5defa5e7	0x0df0e3b1	0x20de0573
+	0xafdaf222	0x4efa11c4	0x129e4d10	0xa5b36477
+	0x3cfd82fa	0x143f99ce	0x6277d132	0x41bc6588
+	0xa96832b8	0x8e448a33	0x64d475b3	0x0d03dde7
+	0xb9b7274a	0x7c43c3bd	0xcd7dea08	0x64f213a9
+	0x4e5e3b17	0x59f0ccf5	0x149d6092	0xb3da7ff0
+	0xe4bc1141	0xd6e3ad13	0x309b6d3f	0xa8bc2b2f
+	0xfe8c49c8	0xfcb93795	0xa21e6218	0xfa789db6
+	0xeda40d1b	0x8a571368	0xb20288ba	0x8f590d4b
+	0xe2d350ee	0x55de37b7	0xa6b1545e	0xd34397bf
+	0x2ca3cb72	0xc858a6e2	0xf18eb4f0	0x13162f7c
+	0x3c73d583	0xf42f4f2d	0x2190c996	0x5842aeb4
+	0x0fb8fac9	0x91835b21	0x768e94b3	0x0ee40fa7
+	0x0bb4abf4	0x5d634b0a	0xf05614d1	0x8421bf96
+	0xadc9bc41	0xc3c25730	0xead6783d	0x6b26a26e
+	0xa5654315	0xddfdbd76	0x0e9efb4b	0x2523aeec
+	0x0ded6345	0x9e745201	0xd74941e6	0xde1a8779
+	0x8369587e	0xfe9e7ff8	0x7361da63	0x3b392b9d
+	0x294fda91	0xd2bb0865	0x2584a967	0x2eaa63af
+	0xf24d9e7e	0x02f0b739	0xe78adfad	0x803d1b65
+	0x4fe08993	0xbbb8b6fd	0xee720db4	0xb9bc4da7
+	0x05d068c8	0x3e76a5a6	0x7ff1a6ca	0x2370982e
+	0xeea006ab	0x39482f79	0x9887af2c	0xdba4de83
+	0x9ecd4cfc	0x6978eaaf	0x1c910836	0x90abaf2f
+	0x66fbbb3b	0xdba1eb1b	0x7c5d8640	0x10e2b54a
+	0xbc9bae3b	0x4ab513c1	0xc3916328	0x923f610d
+	0x8a55ff24	0x3efba683	0x25f2c4be	0x58e5374c
+	0xd307e907	0x48ea462a	0x2dd7509e	0x870a5dcf
+	0x08012046	0x3cd12b1d	0x6a47b79b	0x4113492b
+	0x652e973c	0x9249d11d	0xcd2703e1	0x2fbe5959
+	0xbe07c47e	0x441a0496	0xe7a6c7e5	0xf7cbd2ac
+	0x44fca640	0xb264be8a	0x87b3042a	0xd347d1fd
+	0x8dbb5347	0x60a9b650	0xa5fa99b3	0x6745855a
+	0xea6324e2	0x380882cc	0x7d220119	0x344e1982
+	0x906ade50	0x24e90f8c	0x490d112f	0xf111aa2e
+	0xb08f13b7	0x8e1d7590	0xe9370ed1	0x62eb39e0
+	0x35927fb1	0x829a40cb	0x0806336a	0xbaa04062
+	0x9939850a	0x0869ac12	0x54b03562	0xa4f5c614
+	0x392c62cd	0x7c23d63c	0x85fd1195	0xb7ed5546
+	0x686e1f4f	0x55edcc7f	0x3094818f	0x2537a964
+	0x664d5c0a	0xe80e1cbf	0x7948cae1	0x23c64375
+	0xd418e137	0x78c3642e	0xecc9da92	0x79aa46e8
+	0x59be9660	0x88058e58	0xc3c31420	0x378a39d2
+	0xad44e929	0xb3131130	0x11a55e4e	0xf34bec26
+	0xdb1bdb5b	0x0e9c986c	0x21472aad	0xd10cb0ad
+	0xcfa7f425	0x8cc73d4c	0x935ad802	0x8a8252a8
+	0x4ef3c4af	0xa9ea8d4d	0x8b8d2327	0x49221fa4
+	0xb7a9a150	0xe635f856	0x37df5260	0x8d47a600
+	0x736ff5bc	0xfe702551	0x622bb56c	0xafdf67b9
+	0x394d0c63	0x1895e424	0x788eedd0	0xb8e7f6f6
+	0x57a690b6	0x7f37de59	0x5f4cf3e0	0x1211b1b4
+	0x9fd82e02	0x5c21f2af	0xdc016937	0x5c3a60f6
+	0xf7729837	0x77758003	0xc470bc58	0xed2622e4
+	0x88ba5184	0x18418beb	0x75659944	0x790ee40c
+	0xd7db7e2e	0xb263b2ed	0xae90b658	0xe31faa45
+	0x084b7b2b	0xe2817433	0x5fb477b6	0x05b99337
+	0x20897d5a	0xdd5349f3	0xb6de2ced	0x0ad02021
+	0x667a11e2	0x45fa8d58	0x7d9f7b52	0x982be1bd
+	0x80d9b10f	0x1311fdbe	0xfd0c3612	0x77d03036
+	0x9fc16296	0x60e450a5	0x329af69a	0x2fcd48be
+	0x9c61579a	0x398ee2e5	0x18d52ae0	0x2e6d52bb
+	0x0b1d391e	0x17d677a3	0xa56308dd	0xca961ae8
+	0xaa08b85d	0x230a894e	0xfd1bb53c	0x40f070c6
+	0xe536f86d	0xace6b686	0xb2ee8045	0x3ca0ca1c
+	0xdc14297a	0x016e04bd	0xd298babf	0x1775685c
+	0x25eeee81	0xeabf3996	0xdbac64c0	0xb644a8b1
+	0x1d034410	0xee2f26f5	0x646f8804	0x0a219178
+	0x88b774f5	0xb7757133	0x3ed44b66	0xbafb3535
+	0x7f28dad2	0xd9be6e16	0xc1ee44aa	0x6473e8c3
+	0xce6a8d51	0x58996952	0x74d779f5	0x7a332ec1
+	0x93b1ae48	0x072f4696	0x91a59962	0xd1b4650d
+	0xdf7bc203	0x5a1e01e1	0x0cc1c256	0x5f038178
+	0x316dfbd6	0x6b6066c8	0x88d3c99d	0xf4593234
+	0x7744e3e1	0xb986b226	0x122c5c78	0x98c304b6
+	0x8d8e5248	0x258ad65d	0x887d2b33	0xddbcf246
+	0x1079b709	0x69e5336c	0xaebbc436	0x021f40cd
+	0x1c5c888f	0xadf4031e	0x773c6a1f	0xca6a4b54
+	0x678a48b0	0xa83766e2	0xb51fc797	0x9378d2ff
+	0x24617e89	0x63b6f24b	0xdff10c7e	0xd7899313
+	0xa117de13	0x9ce9fe62	0x93568bd0	0x79525643
+	0xe73d74ca	0x6fa05775	0x16532ef4	0xf158297c
+	0x43d5b180	0xb3713768	0x42f5c74c	0x360674db
+	0xd503b365	0x85f2e190	0xe02701bd	0xc4f72047
+	0x9f0e8c3b	0xcb74c0d9	0x26a763f3	0xf052587f
+	0x1e6382a6	0x98957c55	0xf84848a6	0xc899e8a1
+	0x8baf0ead	0x04efc2de	0xfe51e034	0x31838b1b
+	0xfc488265	0x54c21df4	0x3a1a09df	0xc3197a60
+	0xf82505eb	0x01b09802	0xde6c5986	0xfa64e8e7
+	0xd46b602b	0xd4b8abae	0xfd712f8c	0x374a2d31
+	0x10bdfd5d	0x8b2c581c	0x11b999ce	0x93cb6b25
+	0x03f83c15	0x5e2ca149	0x3cf835ac	0x8952786d
+	0xde9aa5f2	0xc64c816f	0xcd56d134	0x6341ba5d
+	0x48f8b46d	0xa6465fc8	0xf17c3199	0xf8945500
+	0x52591640	0x126a5e9b	0xe4ef95ce	0x092ce906
+	0x60feea4d	0x3ed8d81b	0xe13b4585	0x3699ea3f
+	0x3c99d800	0xfb45a4c6	0x80b9af7b	0xdc1a8f13
+	0x42793d11	0xf5b680b5	0x17443c44	0x339178cf
+	0xe9122d87	0x60c79f06	0x2516b5c1	0x5225d594
+	0xeb2dcf80	0xcfe02eda	0x7719eab8	0xf4beaf16
+	0xce7d36ad	0x49a95435	0xacee9deb	0xc79cd246
+	0x8ed659c5	0x66894b11	0xaedd26b6	0x9ce7d941
+	0x294b5830	0x105962ad	0xeb5b34e6	0x31917645
+	0x122c34fa	0xc7c82bd1	0x6ee4ea9a	0xe2fe7f27
+	0xb1fd4c3d	0x702e9bff	0x7788ddba	0xbd3d942a
+	0x75159d12	0x6aaec1ca	0xc3b4abcd	0x37a69572
+	0x1fce87c2	0x01fbc543	0xacdd6775	0x2c7890d1
+	0xbc1563c1	0x413dd754	0x5b7970d0	0xfef5b1ca
+	0x8079af11	0xd551824a	0x5409896f	0x54e0be68
+	0x8bcd30ff	0xc8375f42	0x30c06a2f	0x779c737d
+	0x32d3e66b	0x7bd05d0f	0xb9c67b23	0xf273695e
+	0x13528262	0xe4a790e9	0x0805aaea	0x3907f7c9
+	0xd7abc54a	0xa4cc51a4	0xf49493f0	0x472aa285
+	0x4dbed2c4	0x4864edaf	0xa46700a8	0xd7542f0c
+	0x7c0ae286	0x951dd824	0x3c73e333	0x52eb49b3
+	0x70516de8	0x7efae010	0xfe0bb650	0x786eb317
+	0x43fb3ab7	0x4c86f7b0	0xab0c578a	0x59787f35
+	0x719e2575	0xe5c919b4	0x26076c48	0xf4c5cee0
+	0xa832e1c0	0xe0e719e9	0xeb978049	0xfde5093b
+	0xe1c5a86f	0xc0ca654b	0x07140b4e	0xcee94a0c
+	0x684f8c9c	0x0dc722ef	0x3f81b654	0x24f6b59e
+	0xc9366802	0x07317ae5	0xb07bc322	0xa68d61a8
+	0xfba88f10	0xdb077c88	0x2e2d4cae	0xf950f615
+	0x0eb4b1d4	0xcc43df94	0x7f76068d	0x9998b11a
+	0xd8c4c734	0x2444116b	0x6f387abf	0x402ba3a7
+	0xb343b091	0xbf1ed457	0x0325a66e	0xac685f81
+	0x3b13da49	0x71bfeadc	0xb706c3cf	0xc18367a7
+	0x74e05a7b	0xf15ce88f	0xb7effab8	0x8e79599b
+	0x758e0fd3	0xec60aff7	0xa36b3584	0x978555f1
+	0xf03e26ce	0x05b7f39f	0x0f44d1e7	0xdb301d27
+	0x2734c001	0x1ba4bb02	0xbed0c57b	0xbbb082d7
+	0xa0f5c163	0x7b081aff	0x8f6020f0	0xb2363b33
+	0x50fba5d4	0x8f862718	0xcfd4080e	0x31881dec
+	0xcea35f4d	0x0ce550bc	0x968bcd16	0x701e96b4
+	0x70104a77	0xd1381316	0xfa0b6bf6	0xd0800a1f
+	0x30dd27e3	0x53396989	0x58066430	0x6fe20758
+	0xe4776597	0x85bc8231	0x6f013aa1	0x8b0f1a6c
+	0x1d41e906	0xd476acb1	0x1f50f428	0x61ebc0b6
+	0x78c6389b	0xc70b922e	0x4d4c6fc5	0x97931134
+	0x9d157c3c	0x053d63fa	0x4ee4dbe3	0x351ccb06
+	0xdabfd086	0x6759fab0	0x277549b8	0x7a265b93
+	0x35d1a141	0x972395a4	0xffd773c2	0x9ba52eb4
+	0x41574c66	0xd4195554	0x49ccaa22	0xfe228bd6
+	0x6977e1af	0x100a9948	0xb6c9667a	0x276c9a27
+	0x169ba199	0x395986bc	0xa7079788	0x40b6deb8
+	0xe74c106a	0x620f202d	0x32b4ee73	0xe7916e7a
+	0xc949eba9	0xbf56f13f	0xa76139d6	0xfdca38ac
+	0x7a295c2f	0xebdb2f5f	0x452694f2	0x6183f044
+	0x0f29f26c	0x41760fa1	0xbf1fd689	0xd3055c3b
+	0x1edb2239	0x5e9aa007	0x193c6ca9	0xa5f75684
+	0x281732f2	0x99308898	0x78c4f631	0x6673d2bf
+	0x62b8251d	0x4a466036	0x9641449d	0x138ce807
+	0x3d637a7f	0x7d09bdf2	0x433bad7c	0x71bad217
+	0xfb587029	0xa9a436f5	0x0e24623e	0x0aa852a8
+	0xe86564a8	0xcdb686e4	0x65c48b10	0x2973caa6
+	0x62d4e121	0x4b0835ae	0xa17bd769	0xac4a2db1
+	0xf185166c	0x50f2fdfc	0xc39f14a0	0x5ef9dace
+	0x0e70ecb6	0xfa577352	0xf944271a	0x4219017f
+	0x4023cd16	0xcb999031	0x3435d9a3	0x376a38d8
+	0xf9c5020b	0xf607d1b3	0x20899f9c	0xd4a0c8ba
+	0xbb8afd18	0x4171935c	0xd949dd4c	0x2e33f6fb
+	0x02af555a	0x0c2cbed6	0xba680cc6	0x07f0e58a
+	0x88750bfa	0xdad6ce37	0x90e0e1be	0xfde50439
+	0x714c6da7	0x52d79397	0x73f2dd50	0x0ec2df57
+	0x38f609ac	0x6978ea5f	0x2b4f2a8e	0x977c5d83
+	0x40f4581e	0x9c862f00	0x0ec9124f	0xcec0f275
+	0x0830a2bc	0x1e620c5e	0x1c99889d	0x88fa02b2
+	0x12cdc5c6	0xd1308d75	0x68c1c312	0x4dfee754
+	0x8c7637a4	0xacd042fd	0xf9fa1e7c	0xa3fe1a74
+	0xbabca0bd	0xf2c4f9cf	0xedb898d7	0xbf68ed2a
+	0x88f88f66	0xba7eb154	0x8b657afb	0x8cdefdac
+	0xa2becf86	0xcdcbe0d7	0x9481c98b	0xb194eca7
+	0x2a0a02d4	0xfb00d895	0xcfae192c	0x304180f0
+	0xa82bcede	0x3f9407eb	0x6f616505	0xf2679357
+	0xc74ff05e	0xa42d33b6	0x6d131a74	0x46837c8f
+	0x618d8b8e	0xae3fdf80	0x5ac56792	0xe8204095
+	0x7fe678de	0x0aabe905	0xe23966fb	0xdfc3ae2f
+	0xbfba369d	0xd362d0ad	0xe4d00bd1	0x36468346
+	0x142ed1df	0xc97cad2c	0xe5c1035d	0xf6c78877
+	0xe00295da	0x3be8b0dc	0xb59cef1a	0xe8ed05c6
+	0x514ea1ef	0xf7633df2	0xb7e10bca	0x44cc343e
+	0xdb5ebaed	0xe10b3589	0x60fd04b2	0xfacbfe1e
+	0x93a1e9b8	0xee694238	0xd693b0b3	0x2812a260
+	0x08db3159	0x59ca9d4b	0x4153cc57	0xf0ecf932
+	0x438d4d1a	0x52c232d7	0xdf6d7a95	0x5b6f5092
+	0x81e98659	0x8f9a196b	0x99acb238	0x19f97546
+	0xba51ca3c	0x6c65e249	0xf45c7ad8	0x05bb02f7
+	0x3ef3a052	0x61ea6df3	0x3d28d168	0x085c370f
+	0xc2da1e98	0x7808a8c7	0x25be8a1b	0x89aaaf9c
+	0xb66b1fa7	0x3f734eef	0xa845dc71	0xf66dc75e
+	0x8a3fd539	0x7b0edfcb	0x93a439f3	0x835fd4cd
+	0xef222958	0x476a8df5	0x41622b4d	0x8bf6f823
+	0xd2c72644	0xb28c401a	0x2e56d5ef	0xb7762140
+	0x6640e607	0x825f8ab6	0xeb42e497	0x8c92adee
+	0xf680d2a1	0xc2f96614	0x014f5191	0x47becd6b
+	0xe2d06126	0xd5e04451	0xa03771d6	0x459e86bf
+	0x72d63346	0x908e8298	0xebc918c1	0x6deecf70
+	0x8bc4f332	0x79a31a01	0x2114b2df	0x0180e3e3
+	0xe2c91e71	0x0811ee5f	0x2c016723	0x069618e4
+	0xb3b08ed9	0x1d9fa7bc	0x657733f2	0x86e610f3
+	0x2621f0b7	0xd9f6651b	0xbefc2f7d	0x76a0b063
+	0x604856fd	0x94a4ec8f	0xd7472d38	0x64b07478
+	0xa4b4d499	0x43235f22	0x5319c88f	0x911e6372
+	0x89ff9bf8	0x54455299	0x7b3e4e02	0x2335f31d
+	0xf10efd89	0x652e4e5e	0x8a9325c3	0x4064cb40
+	0x59ea7010	0x97fbfdcc	0x7836d7cc	0x88d05455
+	0xf6a719e0	0xe6841411	0xd54f36de	0x2cb4c908
+	0xbf87b0f0	0x6b1bfb7f	0x4dd2f56d	0x699aa41f
+	0xb330eb1a	0xe1f021f6	0x65be482a	0xd48dc3cf
+	0xedc98989	0xc38a4452	0xc4d0144a	0x812fab34
+	0xbf112bd0	0xc9d10e16	0x6600a506	0x87955675
+	0xbf65cf7e	0xd0d0e097	0x789c3540	0x1b6c3b27
+	0xa17f9e2a	0x0d47f6c5	0x08ba8430	0x0ea5ab50
+	0xe6875bff	0x745f6e88	0xe91a037b	0x9da767c1
+	0x4673b150	0xbe14d919	0x3164e3d0	0xab5d0c2c
+	0x33a0c5c8	0x67436862	0x0f043a50	0xb48a4fdf
+	0xf2bebb0f	0xfc4df25a	0xd31c6354	0x21b41071
+	0x2f29814c	0x2eb38275	0x7d7b4493	0x3235611e
+	0x65e3106e	0x4fbcf4c7	0xe131e9d3	0x44b7028c
+	0xf424c38a	0x709a1171	0x0bf1900f	0x5228b316
+	0xda000118	0x61d8b278	0x0f4df4b4	0xdf948e72
+	0x289dbff5	0xef421693	0x0e9b89cf	0x809db1a4
+	0xde5468fd	0x937b068d	0xfd94e40f	0x397379be
+	0x9d41a041	0xc01b0889	0xd4fcd1e8	0x0456e57f
+	0xe91261fe	0x32ba801b	0x7edc2183	0xde70ea6b
+	0x3a81dd35	0x4641b2c0	0x016e7025	0x1c164cab
+	0x8430aace	0xa14e3de9	0xbeedfaf4	0xd5416157
+	0x89212bc3	0x8f517277	0x64dc0c28	0x051c353c
+	0x052f38fd	0xb4b9c162	0x087db1bf	0x384e2051
+	0x8012f360	0x31a94aeb	0xfdc99124	0x3cd37d7c
+	0x34067dc0	0xd4a35bfc	0x1fe16dde	0xd1f99248
+	0x5a9cec00	0x25a73f12	0x861daf34	0x956456b0
+	0xf042d8df	0x0b23f39c	0xf3dcf643	0x9ba5ce10
+	0xbac25abc	0xb8c56204	0x10db5a6e	0x8de89772
+	0x1e968309	0x4a478676	0x119afb50	0x988930b9
+	0x6119d759	0x51788bfc	0x1d61e721	0x3d480f67
+	0x66075802	0x45eb1829	0x118b4be5	0x7efeea7c
+	0xba49b891	0x4dd11852	0xf71b4788	0x99c2f05e
+	0xbd28303e	0x5ee62804	0x1b072acc	0x2d017ce9
+	0xc33294a8	0x57312d2c	0xfd67b2b0	0xbb18b0bf
+	0x2ec80198	0x26175f00	0x35255b65	0x516f5a38
+	0x0890895a	0xd965ce68	0xbd651309	0xf4eb8906
+	0x7e07e61d	0x7e9ef0f9	0x42865474	0xfeb2a58a
+	0xd7c2f2c5	0x1641fd75	0xa24be73d	0xca6e52f5
+	0x40cac5d6	0x24fee627	0xe56c185d	0x29cfe810
+	0x871b030f	0x3b139120	0x19f07175	0x230b1346
+	0x46d300da	0x04d6348a	0x9edc107e	0xeefed616
+	0x673a9e51	0x2daa84b6	0xa19fcd37	0xdecc2c69
+	0x3a683f29	0x17770c30	0xb5395aca	0xf8a977ee
+	0xfa920726	0x7ccd7850	0xc259807c	0x46f03a5e
+	0xb5049f0a	0x09a23cad	0x96208471	0xac73f67c
+	0x91555dac	0x2eda61f6	0x11997b88	0xf82227f5
+	0x333f3844	0xbbe6b077	0x9fa39297	0xa9731383
+	0x3a6e781f	0xc0d3f568	0xf97d2c47	0x84831be6
+	0xc4b64556	0xf9a8de4f	0x19eb50d8	0x72e5a15e
+	0x054a8fd2	0xc1c6345e	0xc0f7b580	0x9704a4a4
+	0xc4226ac9	0xc4ea548e	0xd513e3f5	0xd6af08f6
+	0x831ed495	0x01e6c528	0x1a54b048	0x96dd6e66
+	0x47988fff	0x188566a1	0x8e1313e1	0x5a7f71da
+	0xd3967f1d	0x7690d3b6	0x2f8f2fb0	0x6f6251d2
+	0x4c8aad64	0x02e2fa38	0x85287186	0x14a660ac
+	0x76d76c09	0x1cdd99e0	0x9469a4c1	0x2e627afd
+	0xb3c2e2ee	0x96ccf8e9	0x71d2baca	0xbc6e3480
+	0xf2aac857	0x937f744b	0x0aef9370	0x29ab7ff8
+	0x2d7df775	0x89a4880e	0x40b33115	0x1681969b
+	0x38f87c90	0x58d99e75	0xe0bdcf8d	0x0748a43b
+	0x815cc6fd	0xab02e1fb	0xa556d9c4	0x28045ce9
+	0x92cfd9e4	0x53c48e36	0x10e2102b	0x14bdbdad
+	0x072e7bfa	0x05f11cb6	0x647faaed	0x817802b7
+	0x37514080	0x34e1952c	0x2f97aa78	0x67e5480d
+	0x41c23454	0xb674bf64	0xf1059ebd	0x05bf0d65
+	0x8cea89fe	0xe4c80026	0x19c6c2ce	0xc7ba0a80
+	0x72361b09	0x40442dc7	0x0ea61783	0x0ae238b2
+	0xfd189442	0xc777a400	0x407c0ba0	0x0068c8f4
+	0xbdc3758c	0xccd5a384	0x78c17a8a	0xd9cace15
+	0x0b0cc384	0x4def636a	0xc9ac6e70	0x0b47f099
+	0xec8e3fd6	0x56de8792	0x613589e8	0x3625caae
+	0x54c9ba96	0x61af1ee3	0x22c13793	0x2bb28eb7
+	0xda0bf41c	0x37818fdf	0x66d06085	0x6ed9a2ea
+	0xbd2f6197	0xe019fef9	0x58b35249	0xf7c471d2
+	0xe08ee8c3	0xc0e4f4f8	0x2222e0bf	0x939049a3
+	0x0f81527c	0x6e9d9062	0xb98e6ab9	0xe131178f
+	0x9df0684a	0xfe4b3755	0xe29cc274	0xebbb906d
+	0x5c1ff361	0xf6f785ac	0x925c1ffe	0xbe66b7e7
+	0x341ce7cf	0x86b9e13b	0x3cde9717	0x528413e9
+	0x47017637	0x8fbdb425	0x75bade38	0xaaca2a42
+	0xc2cc87fd	0x341d3b6f	0x810374f7	0x539d08ca
+	0x370a9899	0x13c63028	0xf6121e3a	0x1b6b6379
+	0xe54543e7	0xd6c28f9c	0x92cad6e7	0x0c7805df
+	0xa74ec04c	0x0220c53e	0x02bf9983	0x67b30801
+	0xcfac9bdb	0x30ad34b1	0x623e6398	0xf72dff83
+	0x6d6fed19	0xf62750ba	0x3238cd67	0x520b85f3
+	0x814273a7	0x62249749	0x805a6f0f	0xe38b536d
+	0x41e5a937	0xa93cf20e	0xa751645b	0x8b3e9866
+	0x30967b99	0x3601f932	0xe3ff9f11	0xc4f80f52
+	0x79431f0a	0x6231aac1	0xc62affa6	0x460653a1
+	0x76e31119	0x06034ef6	0x1c69c3ee	0x93d7c70b
+	0x72090aa9	0xc6e716b4	0x694be9b7	0xe2824b39
+	0x669ac02d	0x443fbcab	0x1401440c	0x9e39be06
+	0xf0e38a3a	0x01e81eb2	0x2f04f9fc	0xf8b9e3cb
+	0x997f336e	0x276f6a76	0x4ad5de0b	0x4f1d43c9
+	0xa0de062b	0xbedbcc1e	0x490e9ef0	0x3b9c1a9b
+	0x1df97641	0x90a7dece	0x54b793c3	0x0ace3e2c
+	0x06858b88	0x9474b6ef	0xbbc9955d	0xd882fc18
+	0xb2c19d95	0xa2979c3b	0x2b87a2a0	0x25ab6e6b
+	0x9744f6df	0x8a58cd8c	0x299a4009	0xaf51abcd
+	0xf568b3ae	0x5ef83c60	0x491ed983	0xd3b384bf
+	0xfc42e31f	0x908aaedd	0xaaea2da9	0x62f5607a
+	0x3925938c	0x69432bc0	0xb94c3fd1	0xfa6e119c
+	0xf004de98	0xf26dc0f6	0x58ffc4ca	0x1e215ba3
+	0x77f52343	0xd9930eb4	0x84ff5f85	0xe357c135
+	0x7ca48937	0x45acab8b	0xeb8cb3a7	0x79697bd9
+	0x7aa4e063	0xc275dd65	0x9fce5cb8	0xfdea246f
+	0x8bf8ca24	0x8b61b9c4	0x6a000d59	0x383d33f7
+	0x89727da8	0xb6359382	0xf22d9f92	0xba35a48d
+	0xe8b29b52	0xee2ceb3e	0xb2fc82e2	0x8f343501
+	0x86312bd0	0xad483690	0x751629f5	0xb67a2e3c
+	0xd076ad22	0xc01b43d7	0x2f4f9e6a	0x08b72eb6
+	0x8db81d53	0x4e14b531	0x058c3ab5	0x81b3fbbd
+	0x334ebfc6	0xd0c30788	0x9efef6c7	0x9d468836
+	0xcf54f32f	0x18100d0f	0x75d013a9	0x872ca0a6
+	0x48b656df	0x856d0f88	0x726d5762	0xb1b2dc0d
+	0x49c7039f	0x2b9a468c	0x37f2cda8	0x62d964f0
+	0xc50299b2	0xbe5f6cac	0x67899dfc	0x96ee110f
+	0x7a00c5b8	0x9e9cdfcd	0x0b713ae1	0x06835e3c
+	0xd243476d	0x5b140c30	0x65d5bdaa	0xd6bb4f4a
+	0x1fde9ee1	0x12fd8800	0xd7a7c764	0x0fcca914
+	0x8bd85200	0x40957099	0xe27b21a7	0x46a7fd6b
+	0x0c16e600	0x4385aeee	0x157ada11	0xa750f2ae
+	0xcb37c17a	0x1246d3d1	0x0b8cf308	0xa4a006c6
+	0xa8649968	0x1e07eaad	0xe257f62b	0x966e3ab6
+	0x424bd346	0x9a3b57b6	0xc5a443e4	0xb839b41f
+	0x5ff5721d	0x78844fe7	0x210ef7ef	0x408c4278
+	0x1892d6a9	0x9c3f0954	0x8d607ffc	0xc4cf44d7
+	0xe1b650c5	0x4d417fb0	0x90d99753	0xf2fa12c1
+	0x40a80089	0xd8afda76	0x90885dd2	0x1ad599e6
+	0x828bf177	0x9969fafe	0x34232f6d	0x815828c9
+	0xe851cd4f	0x22d909c5	0xd8b4ed0f	0x388ce97d
+	0x651d147b	0x53d51595	0x09dce7cf	0x04a62df5
+	0x10eb3d91	0x634ab2f7	0x707583c8	0x0f1ce97c
+	0x61135a7f	0x14255857	0x17bcef54	0x24591002
+	0x26b42928	0x5bdfcd75	0x04fafa75	0x0b77e81f
+	0x3d149568	0x40074834	0xc9ed3122	0xa00483d1
+	0xd1094f89	0xfc7e9697	0xbdc02fd6	0x5c0dd406
+	0x55b3af34	0x147221f4	0x6a4e4493	0x70b27ba9
+	0xa839c20a	0xb4ca83c6	0x6976e395	0x53823387
+	0x7e7fa8dd	0x62f3eecb	0xe87a5081	0x2d2e5da9
+	0x2dc917a1	0xa840aa15	0x3ae4b7de	0x818020d9
+	0xe27c54d1	0x863b4ea7	0x3d770e0c	0xc913d78b
+	0x22b6ce26	0xa38d471d	0xd86dfbb0	0x43c94bd8
+	0xbb4e34a4	0x737265fb	0x68698195	0x89ec336f
+	0x61e94b6f	0x01661a18	0x3378d7af	0x2abdd82b
+	0xbc68f021	0x010136bc	0x54be683d	0x9600e0f0
+	0x2710a3e4	0x1fc8650a	0xffc41bfc	0x764776e4
+	0xdef736af	0x80a5b3e0	0x6ba97e54	0xdb90b4cf
+	0x33ca5c3a	0x7dffb784	0x82c7bff6	0xb5c67d89
+	0x8b39d097	0x87b0760a	0xe75b7bc8	0x67a40fdc
+	0x2e77c957	0x8e9e397e	0x8c7b8e80	0x8bd64f05
+	0xfc65f423	0x1ee3b99a	0x13d3c9bf	0xb37869d0
+	0x385dda4e	0x03eb3c6a	0xdf1d4a3b	0x0944847f
+	0xdb5d82be	0x6d8954c7	0x8fc3be6e	0x733e2ddf
+	0x561f1d46	0xebf0b439	0x9d1583dc	0x65406edc
+	0xa981414b	0xc57e522e	0xc960f260	0x6b23dc83
+	0x710d10b2	0xab5f0fb0	0x2d724302	0x03acc581
+	0xb7a06490	0xf3e2489e	0xef949571	0xcd054246
+	0x094e6a1f	0x6ed5f8c1	0x7db5c90e	0x2d52f22b
+	0xa0843e2d	0x4c0645df	0xe30eb8b6	0x10701a24
+	0x8adb03e2	0x98d68158	0xc838134b	0x631f2ac7
+	0x6e181502	0x0ebe0e06	0x39baa3e7	0x20d71f40
+	0x212b2283	0x7387444f	0xb6f617a5	0x17b0015e
+	0x390110fc	0x76f888ae	0x94399a20	0x14a05962
+	0x59a68ad8	0x4dec4aa2	0xfed32466	0xac0f4040
+	0xaa67f018	0xabb1afc0	0x96017ce4	0x55c61e4e
+	0xf549b0d4	0x050889f5	0x4d7d29c6	0xa65e7c08
+	0x87cda967	0x8fc571c4	0xac89bcb7	0x84e41f05
+	0x2316e3e4	0xd11c78e0	0xd7519fc5	0x311ae321
+	0x9443b018	0xd2d850b5	0x9df96b70	0x48b39b10
+	0x17afbb5a	0x81a8970e	0xaca67baa	0x76a0b500
+	0x0b9886f2	0x14e5edba	0x5193071e	0x266148b2
+	0x4a91857b	0x97d18119	0xe095541a	0x40f027a4
+	0x42a63a25	0xd47b0a19	0x537ebca4	0x953aac61
+	0xb601a00b	0x93f621bf	0x71ec4f8a	0x9f2a46e5
+	0x11ad282d	0xc2824e65	0x69bd7aab	0xc75c3965
+	0x2d760621	0x66d29d8c	0x669536b3	0x95524faa
+	0x7bbfc249	0xc459d1b6	0xb818eb26	0x14350530
+	0x2c023f4a	0xce54b444	0xc8373dbe	0x187fd195
+	0xb3b898d6	0x4af556e9	0x6b6c5ee5	0xcdd35ec5
+	0x44e2ae62	0x6d57b2b3	0xca4753ec	0x7cbfd888
+	0x9e4dc38e	0xcde55903	0x293d2710	0xd236f84b
+	0x016997aa	0xe415f003	0xf3c9043a	0x3c17d8cf
+	0xab946c5b	0x1492fa88	0xe800dc8c	0x694bf983
+	0x6330ade6	0x73cc7c36	0xb190371a	0x340a333e
+	0xcadb7168	0x46544957	0x161ce821	0xaf5aba0b
+	0x2a483074	0xdc414466	0xff89c2c3	0x6be345e5
+	0xcc6d38ab	0xb7184bee	0x2d3d3014	0xfab468b1
+	0x58769273	0x4cd9b32d	0x9904046a	0x93127753
+	0x6f750d9b	0x1b01b4b7	0xf5a8f0a7	0x06daf1ea
+	0x06688114	0x205f441c	0x807747f3	0xdf29ce48
+	0x9693acd2	0x648c00bd	0xdaf0730e	0xb5705538
+	0x1aef0ba0	0x5a41b185	0xe5ad0226	0x50714598
+	0xa6aaa344	0x849c7e6e	0x3c71f72b	0x4078f3fb
+	0xde8f37c0	0xccfa72b1	0x49606c96	0x49585dea
+	0xad971ab4	0x50208dfe	0xff446e7f	0xfac4de46
+	0x81cd1577	0x3bbf8978	0x5e11789b	0x3e7ce21d
+	0x53f9ecf1	0x22eb632a	0x26b3d386	0x35676803
+	0xa426e362	0x924fabde	0x858f8242	0xa626e03f
+	0x6b265948	0x2f7b1f45	0x1a3757ca	0xd7dfc2f1
+	0xa9324b7b	0x13ffad69	0xeea8f8b4	0xc9acc8b2
+	0xc3913f85	0x74df9857	0xa7743982	0x257c9f59
+	0x87e6f0a6	0x0ad53759	0xdeee3892	0xfc83ab6d
+	0x7f394faa	0xe7000ce0	0x7fdf6667	0xcaea0850
+	0xb51da301	0x2b534d21	0xade4d5d5	0xef584f5d
+	0xe22f4151	0xcc181641	0x7cb60248	0x43c7f754
+	0x0be0cbb0	0x0e1c1ae4	0x9846f0d6	0x5c26632e
+	0xee7f2381	0x37eb79a1	0xf27b2c89	0x45d49782
+	0x7df3e51c	0x838220f1	0x41173453	0x704695e2
+	0x8e697330	0x37860def	0xf5ebc630	0x468095b5
+	0x5222f701	0xebfa262b	0xb8482a3b	0xace9be0c
+	0xb7161f6d	0xc7ad9a9b	0x6e73d814	0x0980ff34
+	0x8efc3ee5	0x470779fa	0xbdd71e46	0x230371cf
+	0x0baad09c	0xcc68ac6e	0x6d2e0c74	0x328c9f08
+	0x6752d432	0xd42288b3	0x1739034f	0x8b80c37e
+	0x6338280a	0xd55a35bd	0x30799d71	0x7af5110b
+	0x17773f78	0x362581f6	0xdfee41dd	0xbfb03d86
+	0xd091d481	0xb6b0af6f	0x2c81daf0	0x049e0706
+	0x317622a7	0xb2b1df89	0xe1cb1376	0x6c9e5e92
+	0x809baf89	0xa6c275be	0xb942a1dd	0x9fe1efce
+	0x5fcf873a	0xfab5e544	0x471617fe	0x00be2ce9
+	0x65f76905	0xd96185d6	0xe7bfed6c	0xb9a24e09
+	0x776d6d5d	0x64ae6e94	0x90da99e5	0x4e12adc7
+	0x2362ce5d	0xa65c09e1	0x7f27fea7	0x8ea78f0d
+	0x7d33fcdd	0x7ece6d71	0xd873c817	0x63df756b
+	0x4215a6f2	0x657d792e	0x9f514868	0x6d19aa19
+	0xf6276b52	0x7a5046d9	0x0e642e24	0xb19ffed9
+	0xefa48aeb	0xd496077a	0x14f6f686	0xb013697f
+	0xbb28a39f	0x0b49c8e9	0x9fa12b7d	0x45ed23c1
+	0x7d5f545b	0x4c5eebc2	0x87457417	0x9912cd28
+	0x16456561	0xdc8bf90a	0x1eb50230	0xc5ca2117
+	0xc76a221e	0x32c46625	0xd718e8cd	0x4f391d4d
+	0x408d6ae1	0x59a1e68d	0xdc2164d0	0x1a27eb34
+	0x1226ab65	0x79b411ad	0x1e288871	0x9f1149b2
+	0x0c291b3b	0x65564605	0xa5577204	0x5d6418a4
+	0x74074f29	0xd475ca11	0xa47167dc	0x1e2a636e
+	0xc667c8ac	0x74ae41dc	0x80b486f9	0xf3e571c9
+	0xf5b58f5f	0x972066f2	0x9ab34e6b	0x36959a1b
+	0xc35b30cb	0x16535e2c	0xf4f343f4	0x3c4ce4c0
+	0x0d23dffb	0x7f5c7ac6	0x4b240af9	0x719656ce
+	0xd13cfc1b	0x5d391014	0x1df24571	0xe60eae06
+	0xe9b8348b	0x84318f32	0xe59b73b9	0xff61511a
+	0xad38aa99	0x9704f905	0xfbc7422f	0x99581ae2
+	0x59d4f702	0x29920e96	0xfd4605e0	0x45d6dd5d
+	0x6a8ae3a3	0x18a754a1	0x162a9f48	0x3d3cadcb
+	0x930114f9	0xc3157003	0x0e69fb18	0x3bef1ddc
+	0x5c75246c	0x7e45b98a	0x4c5d3d8a	0x5c7ba0d2
+	0x576de26f	0xc1717477	0x5289e141	0xed1703cf
+	0x5c541296	0xb4fd3ec2	0x8299b3ff	0x833d1918
+	0xb9c9d6df	0xfb864144	0xc68b2140	0xeef94cb1
+	0x3081ac6d	0x11e679fb	0x28a8d6ee	0x1450fa01
+	0xf2eb7690	0x069f4e2c	0xd82d9e66	0x90d0a134
+	0x94506a6b	0xb156f8e7	0x15d4988e	0x61e838b1
+	0x4050c1c8	0xf5480167	0x6c6b5387	0x882040e1
+	0x1c576822	0x721faf51	0xc62e23f4	0x0a5ce137
+	0x92e71c95	0x03704ca2	0xd4f4ffa7	0x62ce6831
+	0xf75937db	0x6ec41127	0x5a0f6b9d	0x740db083
+	0x17c844ef	0x2ff5f033	0xaa6c4c4b	0x1ba43741
+	0x82d539f3	0x89f8c559	0xe5d7d8b0	0x6cde9f35
+	0xe09dd140	0x752a39c6	0x357ab644	0x6d725123
+	0xd3156805	0x2a667adc	0x8fba9fc0	0x2b95f6a6
+	0x5b445475	0x1b6939dd	0x6d355453	0xd597908e
+	0x1eae67e2	0xbde7e7e4	0xc8b0f418	0xc30b9fd5
+	0x8429be75	0x39fc4443	0x5574e8b3	0x2737caa2
+	0x63f52048	0xd8eba3b2	0xb5d6817d	0x440701e8
+	0x8fa3c203	0x0b14345c	0x0f3de5f2	0x883b0407
+	0xf9a050ac	0x7708b92b	0x3a4e2047	0x6514b530
+	0x316caadf	0xba8f264d	0x2bb4e870	0x5c290444
+	0xb92c8256	0x69e74855	0x3bef0744	0x85074b9b
+	0xcd1cd441	0x65d7aa91	0xa6e6b18e	0x00950ef4
+	0x4b7e155b	0x0f20d1cb	0x66967570	0x4329041c
+	0x2822ef7c	0x5d23d9cd	0x8d9a08eb	0x22ece0fc
+	0xfd70002e	0x6dafb2cc	0x4d6245c5	0x4f922e5e
+	0xae71bfa6	0xd77143b4	0xec36850a	0x1141be49
+	0xeb354327	0xbd2e81c1	0xf1e02b23	0x36e6c56a
+	0x5b00e6ea	0x01523f35	0xdd467c4e	0xe0b68aaf
+	0x5add5b4f	0x8af89711	0xb3a6df1d	0x10d73bbf
+	0x7da50182	0xf7eef4bf	0xac8ab46b	0x9192187f
+	0x9a77b25d	0xa6fb4e3a	0xd974f36b	0x2d5d4287
+	0xfb8c99d5	0x8e09f429	0x87406c64	0x5b568921
+	0xb1f0c18e	0x07127af1	0x2a7e0373	0xfabaaf7f
+	0x0641e396	0x2c13d47b	0x7fc2c3cb	0x9923354b
+	0x0781b144	0x14565ec6	0xeecdcb1c	0x198deed8
+	0x756e2db1	0x9d63f9fa	0x8adad5a9	0xfed7f9a0
+	0x4e7e42a4	0xde606824	0xdd7a7b46	0x5bfdedd5
+	0x9de3bc4f	0x33632d20	0xa46f862a	0x44e7ee86
+	0x7f1dab81	0x04bc42d1	0xcab0836d	0x27a79498
+	0xf0908ee1	0x77bbe9d9	0xd5545f4c	0x96bdf186
+	0x43562be9	0x1aca7e5e	0x10a6afaf	0xe77f4331
+	0xd7a714f9	0x7d69bb8f	0xa6f7c2c6	0x5b47765d
+	0x85cf795d	0xec3bf9f8	0x6120a5a1	0x1221b3dc
+	0xa40eebd7	0x4b1a850f	0xc54b5f45	0x70696a91
+	0x95e4f994	0x68a4e7d7	0xf73610ab	0xbf9a918e
+	0xc296c1b2	0x22c94b51	0x7251446b	0xfa106d69
+	0x3a483b82	0xffbe90a5	0xb5193f29	0x4eab332a
+	0xcb256d5a	0x80a1d4f2	0xd0c82576	0xf206a4b2
+	0xa87c5194	0xeb9794c5	0x1f2de60a	0x03d24a40
+	0x7513f5b8	0x7c9eb6f1	0x310b3fb8	0x44db613b
+	0xe6a87138	0x01c2affb	0x86f7502e	0x4646c069
+	0x760cf456	0xaf1729d5	0x0cda28b0	0x05d25b38
+	0x75775802	0x0aec6066	0x398e862d	0x5cb646f2
+	0x27498e91	0x0d21c41a	0xc28f7d53	0x26b34c20
+	0x0def57d0	0xfbe8f668	0x54aacccf	0x31f671d5
+	0xfeb727ff	0xd1134b18	0x984befab	0xe8018e3f
+	0x5664fca1	0x9b4f89e4	0xa5f9e765	0x1c81abdc
+	0x07c807da	0x3eb61d45	0xd01e03dc	0x81685d21
+	0xa0e0fbce	0x054b75b6	0x7c0d5f19	0xdf75841f
+	0xd30386f4	0x7fbf1c38	0xd335b8ae	0x861b77af
+	0x01c0945b	0x159d55f5	0x658164a7	0x82460382
+	0x3889b1a2	0x69d1df23	0x9db51495	0xab5a40ba
+	0xe8ffb5cc	0x7f97ce27	0x72297780	0x08564c09
+	0x25245263	0xc77ac799	0xf020b6ee	0xa1a43e26
+	0x30a5e09f	0x01f6f829	0x97961644	0x398fb5c0
+	0xff8efc8d	0xaf5973be	0x39d03242	0x1102ccbb
+	0xf41e180f	0xf8b9b39f	0x58827e26	0xc3e85cca
+	0xf117b142	0xb1b72156	0x00fa68d1	0x6bd0cd65
+	0xd7baac93	0x71b6b09a	0xb051efc5	0x1abaca81
+	0xf1ec4198	0xc18d57c2	0xe3f81760	0x446267ea
+	0xd165cd13	0x623770fa	0x46f98309	0x84119b56
+	0x56687c4d	0x9276c444	0x3e1111cf	0x60cc43eb
+	0xca66d039	0x8a721094	0xb78bf506	0x45eadd1f
+	0x6dd24d41	0x4bf63cd0	0x4274755c	0xcb3c9104
+	0x65dd66e6	0xa017ea2b	0x18bcf547	0x54815e68
+	0x5d65b5ab	0xb14f312d	0xf2f888f6	0x367f0867
+	0x7d06617f	0x4cf5660d	0x90331978	0x2358e1b5
+	0xaf55418c	0x9700cb8f	0x04f04ddb	0xad2d66fa
+	0x14ff5f50	0x9ecec2bd	0x9d8e9213	0x3c02ad40
+	0xafad80ba	0x33997a50	0x8c314e5d	0x18485a60
+	0x147cd77d	0xb2e6d561	0xe1d7f391	0x4a774594
+	0xa2b31804	0x1c9573c7	0xade0a878	0x9d325428
+	0xe59a890a	0x4e14d3db	0x98828e72	0x62f061b2
+	0xa34102e0	0xe405b8b7	0xe70eb2b1	0x8305fffa
+	0x15fd4b1b	0x3647130a	0x0fa693fa	0x213bccff
+	0x8be2f93c	0x5fccc005	0x409b798b	0xae31fe47
+	0x7e5a0b87	0xbfaf1412	0xfcba0901	0x2c50e788
+	0xb03c6658	0x5bdc9914	0x461ca4ee	0x7a67fa0d
+	0xe452cdbf	0x3bdaa6f4	0xf05e956b	0xe5af1519
+	0x608afb31	0x04d305f6	0xa7942ddb	0xb42b9fca
+	0xf5377403	0x1a41b1fb	0x729c80aa	0x23b9f813
+	0x5259f61e	0x1dfbc47c	0x49cc1ba4	0x83f36f0a
+	0xa659d988	0x3411d8ba	0x9d283718	0x377cdf0a
+	0x0971775c	0x3301339d	0x15c9e915	0x57961066
+	0xd7a71fc0	0x0e61722d	0x18dde63e	0x88ac866e
+	0xe33c7e5a	0x1e10ee2f	0x1b4ed88f	0x24dab92c
+	0xba3ebd7d	0x045cd9c7	0x38349770	0x19c58bed
+	0xa84e8401	0x005f57e2	0x6c351717	0xdb0bd6f9
+	0xe02a7d13	0xa1c30bfd	0xe820c746	0xbb1b3319
+	0x6ff3592a	0x8d8805f0	0xf7f07017	0x4c445824
+	0x3ab65173	0x31e34226	0x0a64e317	0xea7adb49
+	0xd01b5114	0xe042a694	0xd4659e02	0x5a8a4094
+	0x68c06794	0x7ac9c7f1	0xbb195a3e	0x8c25b1b6
+	0xe61f7da6	0xa7377050	0x800d5805	0x728a3816
+	0x3556e2b1	0x7edad3ad	0x880ccd19	0xf704f716
+	0xa704fdbd	0x6c506715	0xb01c7949	0xe2c853b8
+	0x22d69d3b	0xd979fbce	0x61dbec7d	0x2e24a0f5
+	0xc44c42a1	0xa4371aa7	0x1c921c85	0xe163563f
+	0xdeb9aef6	0xb07a6815	0xc6113b37	0x0977db61
+	0x956a4697	0xd47e14ba	0x3ed9d661	0x2b6b483d
+	0x9ee66746	0xd77dcc87	0xd7b27bed	0xd6fd72c7
+	0x06fdef68	0xb9d02089	0x364995ec	0x201bf111
+	0x8ea2580e	0x831b0b8f	0x879de175	0x6cbff50b
+	0x4905be36	0xe2223f45	0x10c33c9d	0x4819cf52
+	0xfb24288e	0x71bce828	0xdc31a0bc	0x7a1f9638
+	0xe061635f	0x81a3bb35	0x0e7a5f23	0x30ebdea8
+	0xcdb09f35	0xf3a78100	0x014b1c6e	0xe40d0e4f
+	0xb4fd80a3	0xf625ee7d	0x83932d77	0x802a8bf6
+	0xacd62133	0xefa074df	0xfbbc8752	0xd03130c7
+	0x825f6a0d	0x13bc90d0	0x15461b35	0xf65bbcef
+	0x834d860b	0x10b85d8b	0xb0e6a6ba	0x073a2724
+	0x7b36fe04	0x3c5f6c40	0xb7267f96	0x8d41b32c
+	0xd14fa5e5	0xd0f1cefd	0xf16b4378	0x1b30158d
+	0xb8bc4c8a	0xcdd5bcb7	0xf599d6a7	0xae6c497f
+	0xa3295605	0xed018953	0x279e0aca	0xe4130d76
+	0x1346ca12	0x7c99293a	0x6a88d6a7	0x96a8e21b
+	0x4b2dec5d	0xe3a0d997	0x18884dc5	0x16b0c992
+	0xb305cf1c	0x059536a7	0xf9e8dd61	0x35f36076
+	0x411da268	0x0fbd04b7	0xbfc0286b	0x3f43d4a5
+	0x6ff425a7	0x191b9399	0x16955429	0xe7291c9a
+	0x94266d2f	0x0020ea77	0xe97a491b	0x05f3d64b
+	0xe904e7cd	0x1fc996ee	0xb5267321	0x0b045416
+	0xa05b8e9a	0x7e87b890	0x0418e547	0xc7d8381a
+	0xbfe27290	0xf1bf710d	0xf541392c	0x9d731a97
+	0x10d83fd4	0x1142fdd3	0xd45205a3	0x778ff68d
+	0xffe89291	0xef551eee	0x1cd65c9f	0xc0570b59
+	0x9cab6077	0xe382c833	0x2de6e07c	0x4503d1e3
+	0x611d3337	0x0db6912b	0x63e87ba7	0xec4cefef
+	0xc9f68c05	0x5d9f296b	0x668eb313	0x72606184
+	0x5c40431b	0x03883e0f	0x0c5ee3e7	0x9446406b
+	0x74ff15a7	0x2b7b26f3	0xe793f913	0xdbf796eb
+	0x33fb9128	0x5fa6a230	0x57b72dae	0x19a1645f
+	0x758e2f95	0x64bc0874	0xfaad2208	0xb272f8a9
+	0x8a3c1ba2	0x173aa881	0x2eda89f8	0x10be1bbe
+	0x7e6290a6	0xaa5a1c2f	0x2bd0e8c7	0xfd2ab92f
+	0xeb213701	0x643842e7	0x30896c22	0x1d5930c6
+	0x2a63e6ab	0x681be1eb	0x96e99eca	0x16086415
+	0x7adb7562	0xb8162576	0xfaf355f3	0xd62e8194
+	0x7d89824c	0x0d90dc84	0xec6045ed	0x0ec71061
+	0x36bac535	0xe97a4722	0x026e2cc3	0xc2a52ad2
+	0xf0fbdfe0	0x86d47f96	0x38783397	0x13e179ad
+	0x3939cfc6	0xc7a90e66	0xad11c691	0xd310ea0c
+	0x74c6848b	0xedff38b0	0x709e0c0b	0xb7fd3c3e
+	0xa7e61dd6	0x0cf5e31c	0x6c7da0c0	0xbfef7b85
+	0x212613d6	0x619e6170	0x6d664486	0x0aa491f2
+	0xffa6d7d3	0x5c1f2498	0x2909bf7f	0x7dc0d0bf
+	0xae5f6cb7	0x918acaae	0x2da16456	0xc237f9b2
+	0xb550afce	0xc9d12467	0x0e1fb820	0xe9089a77
+	0x7395b303	0xa226ef7a	0xa9763cca	0x16fa1f04
+	0x6ed0a254	0xe79a3e2d	0xbbabcd55	0x40b9f8a9
+	0x4381487f	0x04f4544b	0x492385cc	0x9b30b9f2
+	0xab640975	0xa2dc4c51	0xe11ce677	0x1679489e
+	0xe5d3a517	0x0fed6647	0x2392fae4	0xe658e71b
+	0x273c5243	0x0685982c	0x27c1cf33	0x6275ecd4
+	0xc6ff317e	0x7c4a29a1	0x0b426fcf	0x0991acf1
+	0x9feaa45b	0x1d1ffa07	0xf54687d3	0xb18f5d7e
+	0xdbc422d2	0xf70244c8	0xe5548cea	0x3a0c907f
+	0xdbf45c62	0x59b57e9f	0xa48f5e63	0x5c72e8a6
+	0xb5b47cca	0x8168e20a	0x34b27256	0x9038f6fa
+	0xe0ddd466	0xc2a48c7c	0x960db9c6	0x0f2732cf
+	0x3dcc51d4	0x9391c39e	0x357979a0	0x80e62d2e
+	0xdf3263d6	0x00524093	0xd370fc30	0xce834f90
+	0x7b9186ad	0x0a52f586	0x91f6a338	0xb1c0683d
+	0x19c473a0	0x58175c01	0xe2ddd12b	0x2eff8804
+	0x5edf1891	0x42b13b8a	0xe29cf9cf	0x1a9a57e0
+	0x551ae904	0x611c65d1	0xdfae00a2	0x5709d8a6
+	0xe8e96058	0xaccb2248	0x1329913a	0x3c94a76d
+	0x732eba5b	0xda39f17b	0x3c88c5d5	0x6d07ab0b
+	0xb74969d1	0x75af86cf	0xc8f4e048	0xdaa00f5e
+	0x8702a790	0x674d81bc	0xb4e1ab44	0xc2ea8673
+	0xfbd8ce22	0x14f850e2	0xb580842b	0x7246150c
+	0x3a6dee51	0x0766713a	0x8eed598f	0xa80b43d1
+	0xc2c7917c	0xe2ef5cbd	0x83251950	0xf4079d78
+	0x71f63dc0	0x6da3360f	0x001f8d0a	0x2f135670
+	0xc85d6376	0x6754e59d	0xf53b5205	0xea0b3d07
+	0xad19e39c	0x82408613	0x00c282cf	0x6bdfad45
+	0x62f0ab66	0x770cd75d	0x2ba77a49	0x7233cc6e
+	0xf9c76754	0x36880b84	0xc834c8fc	0xdec5ef03
+	0x968aeb22	0xcffe64df	0x5851070b	0x17f63d5e
+	0x48e7f121	0xc482ec1b	0xabd98aa7	0x5be312a7
+	0x156e01a4	0xd526a4d1	0x8b75c41c	0x441f8ad4
+	0x6ec314c1	0xef1cd01b	0xda6d9713	0x26cac0e4
+	0x836bfd8d	0x433df830	0xe5a42260	0x31422f67
+	0x81a83d78	0x0e3018de	0xad1c722f	0x110471d1
+	0xff047a60	0xf4c77372	0x2e7d944d	0x04ee0afc
+	0x627575af	0x1a3abe82	0x3beff798	0x8f492986
+	0xd20456ca	0x3502f3df	0x3b02e7c3	0x03365dc8
+	0x7705ea0c	0x3633c422	0x65b0b3ec	0x3e9ed973
+	0x750cd309	0xda693bad	0xa890b0fa	0xb40c4dca
+	0xd16afcca	0x49b9b449	0xae166692	0xc79d1384
+	0x9cb9e327	0xa56a7d17	0x3e10ae3a	0x8ec84814
+	0x1f82254a	0x07b889b8	0x7da971f2	0x540ac0cd
+	0xea60e782	0x3bea0849	0xb17dae28	0x50dba88b
+	0xd4df4a4e	0xda155e3f	0x672c95ba	0x1e91da48
+	0xaa6cce17	0x002dbf3c	0x886b0944	0xee556fef
+	0x4937b75f	0x3b5a6976	0xab70332b	0xc6335496
+	0x641b7e15	0x7db46337	0xe7271920	0xc22323c6
+	0x65ad4099	0x7cd99598	0x3ddd7e16	0x6835f314
+	0x145cec8f	0xb2e7a3c3	0x09170052	0x2c34fc34
+	0xabe9c170	0x765f3077	0xdcf265a0	0x95d95aec
+	0xa1485bcc	0xbfb16108	0x01694ecb	0x6bab8f30
+	0xaa4fdcde	0x2844bf83	0x677c7891	0x2b5304e9
+	0x3a2deee5	0x6b8ce685	0xc4adc75d	0xa9698b2b
+	0x7b83712a	0x178eac03	0xa51f95b7	0x1057a7c0
+	0x28fdc9a8	0xbbf9a172	0x6da21335	0x2c0ed8ae
+	0xbb41c417	0x8f2f2f7a	0x2d47a852	0xc5fef121
+	0x07b2f438	0x53ddb4e4	0x297629cc	0x060f4905
+	0x3b4b4b4f	0xcfa9601f	0x29ac502b	0x2ed377f7
+	0xfe6fd814	0x46674670	0x40b07340	0x1594a18d
+	0x3133a783	0x166dcbe4	0x6fdac44a	0x7966e454
+	0xbb31b980	0x64ebaa4b	0x66b8036c	0x6d1a6bc2
+	0xc9943328	0xce5c0b4f	0xc92855e1	0xc988f7b6
+	0x965f1b48	0x88139c7f	0xd7f572a6	0xd8b4ef45
+	0xfc3fb2bd	0x6e7e9728	0x98770466	0xe1ab3558
+	0x9bd99c5a	0xf4a7b8af	0x26961742	0x130a1467
+	0xf67c1237	0xf75ed2fe	0xc8edbf81	0x5d375cc7
+	0x1ca686c5	0x6428a8e6	0xb6a89c96	0x838620b8
+	0xa29ef90e	0xce6cc74d	0xc9a7ba3c	0xb8aaae94
+	0x7e2e7496	0xfe89d0e6	0x886b55d8	0x053559f6
+	0x13788e3f	0x1fe94926	0xe6be2cb0	0xb69bd93d
+	0xe080a734	0xef31884e	0x1b7ee144	0xd3c0e444
+	0x0dbd197c	0xa97c4e40	0x742fb324	0x60777e37
+	0x65a0e07a	0x60e4a524	0xdea92cde	0x9d53a354
+	0x054925d8	0xbed53c15	0x19a56f63	0x8e1d7d0a
+	0x385c0655	0x6127884c	0xd90669c3	0xfd01eb5d
+	0xba5230e8	0x8be4e0af	0x641ac70c	0x9da4bec4
+	0x491b3fdc	0x72088377	0x6fadbb6b	0x1eb3f194
+	0x138f76e6	0x06e5cfa1	0x50e6c02d	0xced3bc9b
+	0x4f3cb822	0xe7c05bef	0xb8939b8c	0x228423bd
+	0x2826da45	0x7c7a4327	0x69ee1772	0x6ce06d42
+	0xdde9f377	0xfd8296f0	0xcacf450b	0xac8a79cc
+	0x2515f4f1	0xb8877606	0xe3c75f15	0x87eefd57
+	0xd5f83e31	0x8ad83ed0	0x645c8379	0xfb2c09b1
+	0x29fa9f1c	0x523070c4	0xbdb3b12c	0x56b5dcde
+	0xf8426a93	0xe4b2c23d	0x3d5b9e33	0x82b25356
+	0xd92445db	0x33022612	0xb8ccdb74	0xa20ca557
+	0x55345b9d	0x8e9c951d	0x97a6866d	0x494c6e01
+	0x70210570	0x5a43c02e	0x6fe89bef	0x2cb5ad9c
+	0xe0ab87e5	0x75adcb6e	0x45405e26	0xa692bf48
+	0x5b609761	0x030a9467	0x40a759b5	0x106bb462
+	0x620a7d75	0xe929da61	0x071bd58e	0xee378d68
+	0x6b08d4d3	0xb8a36917	0x45efd5a4	0x62fa1ee8
+	0x267621c8	0x01fcc95a	0xb313963f	0x881e32d5
+	0xac58d47a	0xe8e98407	0x940144d3	0x9f4fe111
+	0x99c16f87	0xa6f50b4f	0xa9407cbe	0xe1ed1a1f
+	0xf7af2972	0xe3236e66	0x1514a6ef	0xa4838377
+	0xb6b7bb2d	0xe9c12d6f	0xffbc47d4	0x0009e283
+	0xe066bfd9	0x9453acd9	0x3a53516f	0x1565d9e4
+	0x05623966	0x1b1dbdff	0xd1d630e9	0xd0144dfd
+	0xc97ff66f	0x269311de	0x1f9661d8	0xc35a0169
+	0x8b206d41	0xc078f81a	0xe0d268b1	0x612f66ae
+	0xcef1e654	0x9ae0237c	0xa9a6db51	0x2ec4dc13
+	0x31225c9d	0x201ddb16	0xcb8c3092	0x92b5bce7
+	0xa554dd54	0x715c2779	0xaf77d5db	0x0e66d154
+	0x4346695e	0x096b18b3	0x4bfffc37	0xc12f275b
+	0x75be5fa0	0xe0844620	0x8ce45a27	0xbeb23c8a
+	0x038acf17	0xbe750146	0xcb50aa60	0x28b17d7a
+	0xf2c24fae	0xe80da3e4	0x53bda2ba	0x0db14ce5
+	0xd4562d22	0x906e6c6d	0x2228060e	0x7b758425
+	0x5120152e	0x79fab288	0xaa30431e	0xe02aff0d
+	0x11cf0942	0xd6dec434	0xa37c5532	0xdc75fcaa
+	0x6e709ccd	0x0fd6d302	0x9c0cff7b	0xa9ec920c
+	0x4930add6	0x9dc7080b	0xf7e84e66	0xedafc508
+	0xded94db8	0x32848bc3	0xb46e6e41	0xe9aec094
+	0x2c6ed428	0x81998fb9	0xba44962a	0xbd47d39f
+	0x69c5f06a	0x527f64a0	0x3863510e	0xabedb09e
+	0x66ba1af5	0x2f4701a2	0x89619e66	0x2a8213b6
+	0x96b35155	0xe36f9bf1	0x4e4c9831	0x41e29f39
+	0x8a38c10e	0xc6b0b3bc	0xb9a8bbf7	0x1b3feff6
+	0x116cee15	0x7a26aee6	0x8aa5e277	0xe033f839
+	0x03ae9486	0x87feab5c	0x2a76ec0a	0x2c9f5bb7
+	0x979e8365	0xb735d5fd	0xc5b2684c	0x65bec358
+	0x20ed649c	0x6044f3e2	0xe964aaca	0x083c0fc7
+	0x64c6f5ec	0x58c2f1a0	0x7248e733	0xf86633d0
+	0x155e08f1	0xb5105931	0xc3a675f3	0x58beb5c4
+	0xce27bb83	0xc317c8e5	0x08c20bd5	0xb52687ee
+	0xef5115d3	0x4c01fe14	0x031db379	0xcb219aa3
+	0x42ba3a94	0xe51c3809	0xae496040	0xf8a9cd70
+	0xcc5753ae	0x0540afc7	0x2f967c3b	0x7ef7aeac
+	0x4a41f6eb	0x705f7bed	0x556adf2e	0x68b38e05
+	0x86bc6414	0x0dd9c2a7	0x31d0f0bc	0x148062f4
+	0x2ee98f94	0xd62fe807	0x11d37fe3	0x052ecb38
+	0xca75133c	0x2ed8c2c6	0x8e604160	0x392e1fa0
+	0x8544d810	0xbf670aac	0xea63e11f	0x69f8e72e
+	0xe5ea3048	0xf33a1162	0x51def599	0x5aa97dd8
+	0xa7af7df6	0xcf7ac38b	0xfac81bb1	0x5c13e786
+	0xafb6c23b	0xf51f6a22	0xb07484dc	0x476b48a5
+	0x88a4b41a	0xac65199e	0x30206ad2	0xda03b33a
+	0x5c1f02c6	0xc47f63eb	0xf32643e7	0x963d6f51
+	0xa7154c6a	0x927627aa	0xf46ce42a	0x363f40e5
+	0xb4bf67e3	0xe47052d5	0x9e0b47e1	0x6b0fe58b
+	0xa03a9c49	0x5e945cb0	0x6ad3cee7	0x6e5bd7d6
+	0x11acd8c7	0x79545822	0x255b7b5a	0x5f909b17
+	0xafb63f90	0x5a407558	0x47b10cb2	0x510251c2
+	0x7534555e	0x374d4ac8	0xae77ac8d	0x42134d42
+	0x2eadea43	0x3abcc1c0	0xa3281b92	0x7883d25d
+	0x41825437	0x9a5e2c5e	0x805c11b3	0xf2fd6d24
+	0x9e5c2348	0x61cd2c3b	0x4290dcd5	0x906ac92c
+	0x75a98667	0x29a0953f	0xea6f3127	0xcf96cccd
+	0x255aa79f	0x566e1f66	0x6368bf00	0xd54ac5e9
+	0x364a210d	0x68739b18	0xa482d61d	0xbf54b83a
+	0xa572f37a	0xf3cb277b	0xecd0a7b0	0x4dadcf68
+	0xe611e146	0x9cf2a4d4	0x89b685e8	0x72b99e7e
+	0xe2571569	0xc136a3bb	0x7876c300	0xaa37ffbb
+	0x4733aa9a	0x9f5af114	0x288961fe	0xe4435cf7
+	0x7e72625e	0xa2c435bb	0xce8fa422	0xa457a9e8
+	0xfb68cabf	0x74968fa8	0xc3070a6d	0x785da5d2
+	0xf3405cae	0x0fe4988d	0xa0dfc0bd	0xf9e6e423
+	0xf6146969	0xb7aa7f77	0x5a57e757	0x6db990ee
+	0xc49f092e	0xb1dcf93b	0x3b5499ee	0x45551aea
+	0xfda57777	0x114422ef	0x2469c86b	0x50990211
+	0xd8de398b	0x0f1a46f9	0x82aaba33	0x41f2f3e8
+	0x64ad897f	0x6e00f781	0x6cf84715	0x46b63df4
+	0x1ba8220d	0x93f57e2e	0xd884801a	0x2be20427
+	0x98284ea3	0x69a7ab50	0xf92720f6	0x2669b337
+	0x72c26a6a	0xec7f7086	0x1241983e	0xb46cf0e4
+	0x05c303aa	0xf319d17c	0x1675bf24	0xbf3fcb76
+	0xfd40cd25	0x8f4b1a94	0x4c16fada	0x2a315da8
+	0xdf3ea7a2	0x98c05b13	0xd8a0daf7	0xbc0dcc30
+	0x1468a240	0xb52d9ee6	0xcd66c460	0x2a1a4d2c
+	0xf745b0e0	0xb5bc837c	0xeb6b1f38	0x9123504d
+	0xeba7ef5b	0x2b10b0d4	0x5e22dfcd	0x4738c874
+	0xb0f1d3d8	0x7bdd395c	0xd4f6a2b6	0x27fd3105
+	0x18fa05b0	0x19ff0580	0x990ccdb4	0xb81e67e0
+	0xb5bc6686	0x669059f3	0x6977de9d	0x876053bb
+	0x5b50f1b5	0x71c07729	0x7e1305e5	0xc248bd65
+	0x5f3c8c80	0x5b4c883d	0xeaf29302	0x764b7c09
+	0x95f53d63	0xa99544ec	0x04c35881	0x34e0c07c
+	0x2038454f	0xe5b98ad8	0xe076ee6a	0xe708b760
+	0x9420d20c	0x4bfea03a	0xf1588ed4	0x13d9a7de
+	0xe3a56c16	0x5216ae46	0x0bb1d9db	0xe78f9080
+	0x14f9bdb0	0x54382a55	0xfc2bcee9	0xcf678d72
+	0xafe6f3c2	0xe6266a66	0x81d8e14a	0x9df511f5
+	0xb76bbf2b	0xcd27eed7	0xca08842b	0xf982f551
+	0x358d4c7a	0x341eb98e	0x78b3248b	0x2c3ddf2b
+	0xbaa24b24	0xdd1b8ffa	0xbbbba633	0xdb05116b
+	0x124a84ce	0xeb724c87	0x46247d39	0x7373c479
+	0xf9153a17	0x670c54ed	0xa0f9332d	0x251d955b
+	0xf341ea7b	0xf3c7ed67	0xe54f4b60	0x2fb2a89c
+	0x1db5be18	0x6d87706f	0xb35bad8c	0x94f00821
+	0x7f1d5e2e	0xb94d96ab	0xb1bcfb5f	0x77f3e9c1
+	0x22a74758	0x12507b73	0x07454515	0x539ef418
+	0x991f26d3	0xb8a7e4fe	0x88f43bef	0xe5106dec
+	0xf08d35bd	0x37b78b97	0xdef6d486	0x36e9afec
+	0x44256976	0x8fa27327	0x5e4510e1	0x62b1d6ab
+	0x739f6a3a	0xe53b2560	0x0eee61ab	0xce5c2195
+	0x2a11d29a	0xfcc773c2	0x998f0377	0xfd0cfbab
+	0x60531b2d	0x0f163a3e	0x056e4ea3	0xcbf8f075
+	0x8eecb224	0xdb6f6564	0x9994cf11	0xf2da6068
+	0x7edf2d60	0x3484e010	0x3986d352	0x3215d09b
+	0x8acec634	0x88beb778	0x384583be	0xcfa9469d
+	0x3eaa128f	0xd2584846	0x526e16c5	0xe62c56b0
+	0x28878619	0x451a3cc6	0x9d6b3b22	0xbb4595e7
+	0xc41c5702	0x8eaf59af	0x3ec60116	0xcd3fdf25
+	0xf4baa3ee	0x995acf3d	0xfe048b4f	0x34bf9b46
+	0xef80dd5d	0x715270f8	0x7a0c0212	0xdf084b0b
+	0x6823f5b0	0xd63885c6	0x68fa0d06	0x4d4cdbb1
+	0xe3b28319	0x15e287fb	0x7c8a7c24	0xb260381c
+	0x956d8721	0x02e9a6a2	0xc43316e0	0xf8e8f45b
+	0x3b98c8f6	0x5ac45695	0xec28fec3	0xc122e2a9
+	0xd54498ee	0x075854eb	0x24a9c53a	0x88f82fcc
+	0x6a300c63	0xefd1ae69	0x547a9ec3	0xa137e93c
+	0xaaa2242f	0xd84cccfd	0x4b317c9a	0xa73c890f
+	0x53563e89	0x496e871f	0xacb487cd	0xac528731
+	0x979bd60c	0x1644d04b	0xfb25ec8f	0xa13f6ce3
+	0xfc0c1a00	0x13545d49	0x4b7f9ec9	0x4bd41253
+	0xe2b467a7	0xd677887b	0x3e52951d	0x1b16be80
+	0xb335a750	0x0cbe6466	0xd7b20d9a	0x2fc717da
+	0x7b421a32	0x361f1f9b	0x7a690107	0x07418186
+	0xbe912ff0	0x19ab248f	0x45f15951	0x928dc0bd
+	0x34b6d079	0x0e232ff2	0x905d8b2d	0xdfbe8b6e
+	0x9329a93d	0x730f6446	0xfd66b27a	0xfc2ee1e1
+	0xc7843f87	0xfb41abd9	0xe195709a	0xa55268ad
+	0x7fafd370	0x5b3d3940	0xd0499932	0x68b122f4
+	0xb68060a9	0xd8bc5e9c	0x3e97aa65	0x81d088e4
+	0x1f1d516b	0x91025dbd	0xa2bd0027	0xae82f668
+	0xd7b9a631	0x0a498109	0x4ffa40bd	0x82778f22
+	0xe57c458a	0xdfb5fc7b	0xe87374e1	0x8886dcc2
+	0x2cbc6bcc	0xcd024d5b	0x21987f5b	0x5bee50d5
+	0xcfc95d59	0xbfeaecce	0x35e308b2	0x1c431c62
+	0x63834bd5	0x9a93892a	0xdf509f2e	0x7a5ad3da
+	0xe11a9e99	0xc7363cd2	0x84e195f2	0xf18d74ad
+	0x5cd07824	0x5e632fb1	0xabf51bdd	0xbdcdb3b9
+	0xe7f2b97f	0xe0319ac1	0x92515886	0xdc4a11de
+	0xd2a8b48b	0xc713272b	0x1e1250d0	0x59d87385
+	0x7f962a6a	0x07c50bb2	0x935a13aa	0xbbdf216d
+	0x22bfe2cc	0x9c587c77	0x4e3d6997	0xb5b9030a
+	0xfe9131af	0xfafc7485	0x35a53be7	0xdd7a91ef
+	0xb790c7a5	0x5077a502	0x7670eb90	0xa032fe17
+	0x79f1a53c	0x426d12f7	0xda45810e	0x1892e046
+	0x1f11dace	0x1b80983c	0xed8401f4	0xd5813b24
+	0xe1d5665e	0x5d5086bf	0xbd7605cd	0x1ef38e49
+	0x79848055	0x0c537b4a	0x85198fdf	0xc13d9914
+	0x61c2d22c	0xc3a71565	0x80aa108a	0xbc6cee1d
+	0xa01d35d4	0xe1bd82df	0x11867dad	0xd04b476d
+	0x23f6bf14	0x1b326624	0x908504ab	0xbe631bc9
+	0x7bd48d7b	0x715d075e	0xdb00938f	0x295c2109
+	0x555dc4ef	0xfc476f0c	0x704f2970	0x1528a393
+	0xf5a5a3e5	0xb98429e2	0xf00ddc40	0x23df90f6
+	0x31d70e78	0x7ed4eb17	0x078264e7	0x0604a330
+	0x7f1a2a62	0x339ebf28	0xb6a7f8c7	0x459323a4
+	0x5e0da59c	0xe0f45bfe	0xc718dc9a	0x4b1b6237
+	0xe06bbf0e	0x195f6811	0x474d7c3d	0xcca640ae
+	0x77a48b6d	0x96eb434e	0x8a118ca1	0x55a513d8
+	0x2b4c0414	0x2bed5335	0x8feeeaf0	0x1e3ed22c
+	0x887a2db3	0x3e9cd3fa	0xe836764b	0x9833144f
+	0x9be55821	0xc45ca6ed	0x65419d88	0x4f4e8dd6
+	0xe159296d	0x1fe302bb	0xcdfa2bfc	0xf6cd6f1a
+	0x8acdeed0	0x8bcdb4c9	0x36c82e69	0x4ec65b26
+	0x10498082	0x6e267465	0x3b0831ed	0xafae25ca
+	0xf02be37e	0x930c689d	0x44d149c6	0xfcc96fed
+	0x39ea636e	0x02009f40	0x4e1de152	0x8c138829
+	0xa16e6860	0x33a5f206	0x9c97bd93	0x58af75fe
+	0x984e0f23	0x4abfa9f6	0x99693bab	0xa787d2e5
+	0xaff87efe	0xd5078255	0x21d6f10d	0xff7db25e
+	0xc3431f52	0x20918eb7	0x1b8605d0	0x23b92d4d
+	0x4a72f632	0x80c1fd17	0x0c02d9d5	0x1ae9c1c1
+	0x076b6166	0xa7182495	0xbbd4d5b7	0x81aa4b26
+	0x00ef55f9	0x3ee3d821	0x0b84ad77	0x2bcd72cc
+	0xf1787994	0x13422b02	0x9137efd5	0x4da3a99f
+	0x7ffc5321	0x4b2bc219	0xe96631b6	0xaeb03a4c
+	0x0296e305	0xf923b421	0x519becdc	0xf918f411
+	0xaf036986	0x85e8ccb5	0xfa7da8fe	0x50f4919d
+	0x1fb7158c	0x1cc71295	0x87b14315	0x68bf833c
+	0xe0e2f829	0x0899a1bb	0x7d0d6259	0xb3e0d938
+	0x87247548	0xc4b8b45a	0xa1a198bc	0x86553eb2
+	0x07903528	0x3468e45b	0x3f619b4b	0xd76e9f2f
+	0x1fe52ccd	0x1fa7489e	0x1a0944a9	0xa3001f22
+	0x52e29e4a	0xd8583e6e	0xa2f8bf9a	0xbb596023
+	0x78d13b38	0x37722a86	0xad2630f9	0xbe615c28
+	0x8d660703	0xd2c60522	0x93600693	0xb8026ec2
+	0x04d71941	0x0188c650	0x8fde0e25	0x00bb1949
+	0x18cbf921	0x9efafd39	0x61e2c5f8	0xd7e129d6
+	0x1da1c371	0xeebb9552	0x3d89d2fd	0x507ddb33
+	0x59aefa5c	0xa96050c9	0xa89753f6	0x8a6a3724
+	0x249e55af	0xf5d712aa	0x165332e5	0xeb8b8fe6
+	0xdd58d97b	0x696b8de9	0x1aaddbfd	0x5b70ab39
+	0xd3cfae84	0x43d4ed0a	0xc3e62170	0xff5a2f1d
+	0x4dcac28f	0x483e6b75	0x6f499dc7	0xe322ea5d
+	0x435cab14	0x9c83b6e3	0x03b8cd4b	0x4a773061
+	0x8dd12c6a	0xe16e0b85	0x71754c74	0x61da9e61
+	0x6b0a5780	0xec507e7c	0x67d251f3	0xd158d66e
+	0x5d554986	0xf1b869f5	0x3846a89a	0x93203735
+	0x1fee1e40	0xfedb9d4a	0x833f3275	0x4efbb610
+	0x84e139dc	0x391caafe	0x72ded682	0xc4578cc9
+	0x2a97e6a6	0x31ae0a21	0x61b759e8	0x7dba8f29
+	0x9f44920d	0x2a682773	0xe0973858	0x4fe8d93f
+	0x4461e195	0xb4e9d538	0x35244354	0x71e1e076
+	0xe7c9a805	0x9281e7bc	0x9c5866ff	0x8d3fcc6b
+	0x96bf9d94	0x081b5f1f	0x59f1c86f	0xc7624b4a
+	0x642828b5	0x2d1adf14	0xa23027b0	0x203baa5e
+	0x383020e7	0x9270e519	0x5c9db413	0x65de52bb
+	0x427d85ca	0x9be72540	0xcc42320a	0x2a540c30
+	0xb5f05697	0x94deb4f7	0x85931ed3	0xf6985f6d
+	0xcdbefa9b	0x4c3b4518	0x23900cdd	0xb61242cd
+	0x551f4fcd	0xe32114c9	0x1463bf4f	0xb1ab0b15
+	0x9d3bd7d5	0x482ba600	0x2a1905df	0xeca00b13
+	0x4231c992	0xbee51476	0xd53b8a3c	0x84e444b3
+	0xf580de73	0xb77ae962	0xd317f0f7	0x0696e18c
+	0x548cc93a	0xe84e9eaf	0xd3a112ba	0x09203e1e
+	0xe5fcf34f	0x8cbbcad0	0xbd39deba	0x3f3c444c
+	0x9b42960d	0xa7cfd77c	0x6fe061f4	0xa47cde9e
+	0xc6e0d1c0	0x73c66abf	0x5d1e8fbd	0x3623c582
+	0x661501cd	0xf82c02b3	0x1fdddc43	0x41326004
+	0x7e66833c	0x9b87f09e	0x460e9f29	0xaa42d4c7
+	0x9de056bf	0x7a04e294	0x4f45a29e	0x4dc53b68
+	0x35f66dc3	0xe5d61f33	0xdf1c3b74	0x7a800188
+	0xd2d69278	0x51d10dec	0x36ba5a27	0x84710d0f
+	0xdb9d4265	0x0cdb2557	0x2294b43b	0x21fd5276
+	0x8e242a48	0x534b736e	0x517c06fe	0xddae34d2
+	0xc9963646	0x316a2866	0xf78e670a	0x4354b9ad
+	0x6478b461	0x41bc356b	0xadc9d69f	0x86310701
+	0x698b5dd4	0xac1a065b	0x325b19b6	0xdd8c1424
+	0x9782ac36	0xd07f2b25	0x3142d1ef	0x1b65cce6
+	0x45dc809d	0x26b47e8a	0x47ffd190	0xddd23daf
+	0x852c505c	0xc68d8c2b	0x76f71872	0xd62371f2
+	0xa85876ff	0xd67bee5f	0x9c7f08df	0x7cffada6
+	0x1f87b705	0xb7395ce6	0x5f20c731	0x83b83c9f
+	0x39b72eb9	0x33402454	0xfaa4a4f4	0xce09b8a9
+	0x8fc8ec39	0x8282f919	0x18a12d7a	0x669b255e
+	0xe63cf97b	0xe06c98ad	0x9e9c48c4	0x9e1eca60
+	0xade5b5a5	0xe871bbcc	0xf5c4459a	0xd239cca5
+	0xbc690a32	0x8e6a5a36	0xf656c3cd	0x2aea3748
+	0xcd89e82a	0xd727974c	0xc89c15d3	0x2cb3d656
+	0x5ea5697f	0x95351d3f	0x3c51294d	0x19dad085
+	0x9875ff98	0xcbe290c9	0xec1db1d1	0x06dad038
+	0x59676ed1	0xd4ffaa52	0x67b53321	0x406d0405
+	0xb63b27b5	0x02a7acfe	0x0218e862	0x0600e77e
+	0xc5ab4fd1	0x59614324	0x0711ff6b	0x66aadc1f
+	0x03d4783b	0x260efa73	0x595b8ff7	0xcc38a258
+	0xf581cde6	0x54ad0529	0xe7fd85e0	0x865cdb10
+	0xb36829e6	0x292a183f	0x0365b477	0x699539bc
+	0x1bab4354	0xef8fbc6e	0xcd13d0d0	0xae88592d
+	0x1fd2b9ab	0xc73c4087	0xd443f88b	0xd954a62e
+	0x98f330f4	0xec153762	0x79ab5dde	0x576b971d
+	0x32bfeb19	0x8cb0fc53	0x0adf7206	0x1fd5c3dc
+	0xbf2937d0	0xe3a27af7	0x7a5985c4	0xf385bd6a
+	0x4749ff2a	0x2c9dbb25	0xfb5ec7e6	0xd35e3858
+	0x6b02a00f	0x39648c79	0xea16560c	0x7426126c
+	0x2e48ff85	0x7db3751d	0x5caa6cae	0x9d7bf7fb
+	0x7dc3045f	0x11a58714	0xb1c7ec05	0xd861d92e
+	0x3b9335a5	0x369f36de	0x86537f91	0x6df69efe
+	0x097f9eeb	0x21a1c221	0xe705e58c	0x814c6d6c
+	0x3b15231e	0x27348dc5	0x31904ae2	0xe795e0bd
+	0xd66763ea	0xe8d72c3e	0xa98152da	0xe13f01ee
+	0x3f309623	0x4af332ab	0xfa907056	0x55f64e59
+	0xec5b728e	0xffb73bfa	0x01e03bd0	0x78b40ce6
+	0x494800ba	0x391c7b3c	0xb1a5f6bd	0xc08f1e24
+	0x3e463ced	0x365110ba	0x637cb6b0	0x75753237
+	0x8a7eb826	0x10017424	0xece96fac	0x7e1ee939
+	0xa11e1553	0xfca3f88c	0x20937141	0xa10f07ed
+	0x2be3baa4	0x0b1abf6a	0x446bb4ac	0x431fcc86
+	0x4d13befb	0xa1dde1c8	0x956aa819	0xa6a6bb8b
+	0xca2e0a62	0x7ebd0a45	0x1ffbd5b8	0x95c8518a
+	0xa69b829e	0xba2506fa	0x8969eb89	0xb8989e02
+	0x2cc46256	0x52f394ba	0xef94217d	0xc397b570
+	0x029acc3f	0xe4ed9f6e	0x15d2b07b	0xe0e0e7b5
+	0xf0a90eda	0xd2b9c951	0xe7fd0d22	0xa11b524e
+	0x297192fe	0x09494708	0xc3231693	0x23057014
+	0x2347f4f8	0xecb07723	0x78d5387e	0xd950aa5a
+	0xb8b89982	0x3d4eb0fe	0x9a5eac36	0x3c314180
+	0x037ef95a	0xe5a07f1d	0x963d7545	0xda533ac8
+	0x652420c3	0xecba1589	0x69956916	0x7118042a
+	0x010cc872	0xca74ec31	0xb65b0a15	0x24d7076c
+	0x7835e3c4	0xae04ce57	0xb9106c38	0x450147a7
+	0xfcd308a6	0x3780795d	0xf127d659	0xabd3762a
+	0xc33508cf	0xd43c2743	0x13f9c4b7	0xb811ccee
+	0x60ea88e9	0xfeaf11ed	0xa2e4e08a	0x679a8a16
+	0xfe2f179d	0xf9d71588	0x46a5b44d	0xa3739f11
+	0x026aece1	0x27227337	0xa67499e7	0x150941d7
+	0x3acb3852	0x36e4a886	0xb3cdac7e	0xa6cc4731
+	0x3da129f9	0x8945d1d3	0x0ca8e53a	0xefc7a5a8
+	0xde9550b5	0xa2838b96	0x85855f0e	0x5f527d35
+	0x6f7cc825	0x3376c65d	0xe11c296e	0x31b6c238
+	0xaa78ce8f	0xed627ba3	0x8b341b27	0xe5ae270a
+	0xe4def7ab	0x4956ab96	0x8fe3e3e6	0xc38a8264
+	0x4a580ee0	0xa367eff8	0x30cd46a1	0x63bfb7de
+	0x0f077d1a	0x071655c1	0x9cd20ef5	0xbd910426
+	0x5ff8d076	0x780541e2	0xb1b78ae6	0x8d4f3e25
+	0x0d607fbe	0x6553eaa5	0x295663d7	0xad96bd90
+	0x3fb8d299	0xa876e194	0xeff9ad1b	0x8eca7226
+	0xae0822a1	0x2f2665b7	0x8c380d8c	0xdc3dced0
+	0xc5902d53	0x9487cbc7	0xaee8d33b	0x9918bc49
+	0x172b80a4	0x54da0366	0xb0480c4d	0x8505c00c
+	0x95f9d4e8	0x04f6c56c	0x4f1992d7	0xd5be2a99
+	0x9cfd5518	0xae36133b	0x68cfab7a	0x93c5b3c9
+	0x5c3e00de	0xfdba8d1a	0x1950a499	0xf585b68f
+	0xd7877843	0x31f26d1c	0xf6aaff0a	0x8422439b
+	0x34932e6a	0x9fdef126	0x004902f2	0xcfeb933f
+	0x461cde2e	0xbf0c2348	0x6f378884	0xc6f28584
+	0x0e8e1484	0x487df649	0xaa6d7abe	0xabe47e51
+	0x9c037ac3	0xa7d9a917	0x017ce418	0xd3fcfe05
+	0x45d44ef0	0xe2122eda	0x3dd12c7b	0x2b943ac1
+	0xe944001a	0x9ea8c0f5	0x13887de2	0xcdeac67e
+	0x661926c8	0x464d7d92	0x2153bc27	0x28f366b0
+	0x95aaccf9	0xf58e42a6	0xe2b74b95	0xc4e76731
+	0x8bbe0115	0xc13d03b0	0xdfd3c57d	0xa6a6a376
+	0x33054af1	0xf2164000	0xf12d1b3e	0x10aaba39
+	0x8c48e878	0xf62e4034	0x9989fe81	0x3cce7788
+	0x33dedaab	0xecce3579	0x52a1a0f9	0x25f7e0b1
+	0x00024fcc	0x9d315f1a	0xf9243a7f	0x51b5bfcb
+	0x4cf926ca	0x19a4e8f4	0x729db9a8	0xc3f0cda4
+	0x2cd53230	0x1d86dc30	0x7b20b7cb	0x1bdbf1f8
+	0x208a3bed	0x175ce105	0xfd45df17	0xdd3f5fc1
+	0x689efdd6	0x0ab4123b	0x7329b958	0xac90a04e
+	0x32caa96a	0xf7609907	0x862ee458	0xaa328d13
+	0xa839f1ba	0xe7da448a	0xb5f361c0	0x5d5f16c2
+	0xcb3faf23	0x9d6fca62	0x80ed4411	0xfb134416
+	0x39ab14a9	0x305ab74b	0x76312b28	0xea38b1bf
+	0x45dee43e	0x4890904e	0x548bdf7d	0x20ef92c4
+	0x86704c38	0x8366dde4	0xafc9d551	0x01486482
+	0x2a66f042	0x819315ea	0x59aef12f	0x5c4d2f1f
+	0xd1d0fb21	0xa286aa99	0x59fe8c60	0x0fb2275d
+	0x455d95c1	0x665c9783	0x4c6a7fda	0xd78f1536
+	0x2cca3af5	0xe7fc1c83	0x12836c68	0xe40afac4
+	0x04971027	0x15033991	0x1599b526	0x28f271d6
+	0x249e2db4	0x8c87a3cb	0xd8949626	0x467b165a
+	0x9834d5dc	0xaca55a99	0xae403e0e	0x5e44dfe6
+	0xb5cb972f	0x4affd423	0xdfe3a0ba	0xba66ddd3
+	0x8fb8afbf	0xf7d2127d	0xc56b4e4e	0x801ee995
+	0x3af70660	0xe4271646	0xfc9b3f0b	0x0d1b714c
+	0x2899451e	0xc0d2ac1d	0x5376412e	0xf8830b3b
+	0x00730f02	0x2070e1c3	0xaa3ecdf4	0x61c2b089
+	0x43160e14	0x1c909bca	0xb12b3e7d	0x563aa455
+	0xa6c82117	0x2fd25eb2	0xcbf7402d	0x5fd16485
+	0x2a903214	0x10b1e25f	0x20ec92fa	0x03e38321
+	0xe264cf01	0xd0b18d0a	0x529610d3	0x6a862094
+	0x0021652b	0x3e41ec43	0x68753afa	0x578208f8
+	0x63fc6585	0x3c065808	0x15072917	0xe530dbca
+	0x4fd31ab6	0x90ec9f1d	0xd21347c2	0x1aa8057c
+	0x707ac53d	0x3a6f6cff	0xef4f5bfb	0x91f9df78
+	0xd4d8e7b3	0x85b23779	0xd70dfb50	0xfc3eb090
+	0x2afb8f1e	0xd17d1671	0x887adc0d	0xbd01123f
+	0x39584f27	0xe5bdc9fb	0x8c1f74ea	0x4771c3ed
+	0x994f3f8f	0x71f73dfe	0x6d8f1065	0xe639d542
+	0x1a0c1e63	0x87d4f6cc	0x6b7d3f3d	0xf04e1fa7
+	0x83d6c73d	0xd674b74e	0x3c68a8c6	0x018b543f
+	0x3c1e295d	0xece6274d	0x1119b65a	0x74a6967a
+	0x69e31d43	0xed442719	0xb6d4d76c	0x0c634c05
+	0x94ee29e8	0xd780bfe7	0x2bfa6dd0	0xa84c1e0e
+	0xc5a76023	0x8513aaab	0x67104dd1	0x6758d5ef
+	0xb804c65a	0x4b5eae39	0xcdf42fc7	0x0a409263
+	0xd5172df1	0xe06de198	0x221b3d16	0xd389dea9
+	0xdc7ec34a	0x0cdb0c31	0x74aa5423	0x1a3a12f0
+	0x84af11b6	0xed5484a9	0x48a42703	0xf88a5554
+	0x1fb1c3e8	0x14f0139f	0x5bb798d4	0xa44d0a7a
+	0xffe63aaa	0x2623dfb2	0x3dfdf073	0x7c5f64c5
+	0x7fb8e776	0xd6ec4cda	0xbbbcc9c5	0x543d4e67
+	0xe6261cdd	0x5fa93a6b	0xb2f22232	0x46b3bf1d
+	0xc85c492f	0x3e9b59c8	0xc57467e9	0x3ef1cca2
+	0x885c11b4	0x430b945b	0x7e866a53	0x35640ef2
+	0x2bc250d2	0x143e8bcd	0x526e160a	0xaf195f5c
+	0x6b7af12d	0xae86e442	0xa8a7e79b	0x348e2f45
+	0x83464bf9	0x7e9217f2	0x633167d5	0x7f48a7d9
+	0xc0e68db1	0xe20a73d3	0x08631c1e	0x6d1c947c
+	0x09f758fb	0x4e7a91f8	0x6310962f	0x4cb9d435
+	0xc4e0d790	0x516ff75d	0x7d94e8f9	0x5e096081
+	0x54c45793	0x5c4006ad	0x96597e18	0x8288ae51
+	0x80b02790	0x07a93092	0xc3c4f812	0x5370f66d
+	0xb0dbdcf4	0x7b3989b6	0x401ba87c	0xb6583c3d
+	0x172f026b	0x14f6a157	0xf38c63d1	0xdd649ff5
+	0xf3f4e004	0xf35ada45	0xb4ef6088	0xf4dd2f84
+	0x45cfd771	0x87f4aea6	0x258285ab	0xd6cd6526
+	0x6ef11ebc	0xc9fe8974	0x19fa04ad	0x42f2cb41
+	0x1f79e225	0x4a377d25	0x21bfba29	0x344a68e1
+	0xf5ecce49	0xfbb59c84	0xd79e3b7a	0x66abbfbf
+	0xf472eadc	0x96e131d4	0x582cc500	0xd6e66fbc
+	0x89514daf	0xfc33243d	0x03f2ef3c	0xc89b7e63
+	0x81690099	0x3d7b84fa	0x760c3e67	0xd17dc669
+	0x5d224d4c	0xf4ff8750	0x0156afad	0x65d31848
+	0xb90d0084	0x5f8bca59	0x30fe3607	0xf42d02d2
+	0x1a1433d9	0x83e8ac6f	0x580fbfdd	0x621b4f0c
+	0x8a0384c3	0x8f2bb99e	0xcde8d946	0x656c0982
+	0x4e6ba947	0x6111abba	0xd2a533df	0x9d173834
+	0x12ae87b7	0x9c96dcc9	0xcb38017f	0xcfdb1a79
+	0xa812fa65	0x7e94957d	0x448b6e54	0x951db061
+	0x95413429	0xa9b8f2a2	0xed53849d	0x0df306e6
+	0x47ad8eee	0xc89bbc9b	0x2c812451	0x8a8cd47d
+	0x7f6fd5e3	0xac4f541e	0xd0141031	0x1bc101b8
+	0x445eabc8	0x8812e01f	0x1972aad1	0x490e0983
+	0xde196258	0x8a1f4280	0x7d4bbc9f	0xd8828045
+	0x6d0b5f9c	0x99300545	0x2245bb3d	0xa6212403
+	0xa16fedfe	0xd14bf451	0x26146824	0x56fb7edb
+	0xc569ab9c	0x3ee4ca51	0x4769b0c7	0x9702340a
+	0x81477a5c	0x5e5e2b00	0xecdf796e	0x1b71f918
+	0xeb7b0bef	0x4943478f	0x996aa457	0x563df3ea
+	0xc13e9084	0x84a710c6	0x51aae833	0x1286b9b6
+	0x646e93d2	0x27cdb6ae	0x2c5131d4	0x80331468
+	0xa2de5ec3	0xcc2f6702	0x3e395dc6	0x06faa48d
+	0x395bf0b8	0x2ab561f5	0xbf8d67e3	0x8faf4cea
+	0x51e93442	0xcf47cea8	0xbf63b9ee	0xe927b21c
+	0x1a03197c	0xec291d24	0xfb8519d7	0x4d955d6c
+	0x2df0903d	0x5a706cd0	0x61ef0856	0x494d1444
+	0x86699045	0x067b12c0	0xbe0a1b48	0x234b346c
+	0x34cd7efa	0x6a4ae615	0xcd91c638	0x954b84f4
+	0x1a128af5	0xd969cc17	0xf4dc37e1	0xaa5e52d8
+	0xde59f894	0x0f5a917c	0xb4fb57e7	0x0cab7d81
+	0x9aac2151	0x4cdbb7c2	0xacd786a1	0x3a7b62d3
+	0xf240daa6	0xff356dad	0x758d1e15	0x193a13f2
+	0xee61d3e3	0x981a74fa	0x227adbf5	0xce83506e
+	0xa1e3af28	0x5d4885c1	0x6c1f694a	0x96986af4
+	0xe458cbbe	0x91951817	0x854ec652	0x71e35285
+	0x89afd078	0x26170aa3	0xe65e2d7d	0x457ed03f
+	0xc2fc1735	0x026e2185	0x7084e0e7	0x118e91fb
+	0xba85dfc6	0xe658f66a	0x0c19dbe3	0x17dc8f29
+	0xa75cbee5	0x1ad8e022	0xf5458efe	0xbc5c0628
+	0x8bd901d6	0x8a986723	0x492e7376	0x7c35b261
+	0x39d55be9	0x3768fe66	0x7467ae3e	0x2388e33e
+	0x5b91e770	0x55d12deb	0x2c12b96d	0x82664969
+	0x6fddc486	0x790b4248	0x0a1a279d	0xd9b92a2e
+	0xe316f88e	0xf21cc3df	0x51038908	0xb3aecc0b
+	0x9b4048a0	0x21748d61	0xd65d0a32	0x0ba4dd14
+	0x51606dfc	0x23715771	0xce5bd0ca	0x26b7d411
+	0x87029a42	0x3a02968a	0x0b81412a	0x7fbf7638
+	0x6935a48d	0xd29ddd49	0x5e60b89a	0x498efa41
+	0x37756ec5	0x7a07ae76	0x60b6cad3	0x521dbbf6
+	0xa1d46ac0	0x61279e7e	0x28bdb70c	0xdae29099
+	0xb075ba91	0x6096a79d	0x2bee42c2	0xe2632f66
+	0x6f63ee5e	0x3c1635a8	0x9cc893f5	0x74fd1f0c
+	0x0e979de0	0x3cdf28f0	0x5a0f41c5	0xdad09973
+	0xc57f47f6	0xdde7dd76	0xd05965a8	0xdeadd87d
+	0x1d87a754	0x5513a4c6	0xbd5fef6b	0x0d649214
+	0x5b36915c	0x568038c0	0xc775afc7	0x7d32462b
+	0x78ae7ed5	0x132a1ae2	0x248359de	0x2550a259
+	0x7ff08337	0x2dd48301	0x7d11da38	0x4076b6a1
+	0x8d6ac3b8	0x2858fcf5	0x102ba807	0x6508bb1c
+	0xa5aa0335	0x25d56586	0x53b990b0	0x7e4e4c49
+	0x67b37e21	0xd4646417	0xcbf0e82a	0xa2eb08a7
+	0x53761d3b	0x3bc87b03	0x0e8da6ae	0xa867b1b6
+	0x03704bed	0x5460a156	0xdbc7b432	0x861e76c6
+	0xd9a25796	0x746ff2ff	0xea2ded19	0xc0c12f66
+	0xbed173c7	0xcba2a17f	0x073ade3d	0xcd20aa31
+	0xef12f091	0x306a0d01	0x683ffda0	0x6a4d3ced
+	0x2f19e821	0x2f220131	0x59c46a40	0x7370fda6
+	0x6c8268c2	0x82e5ef45	0xd79dee43	0xe7779aec
+	0x94ed3852	0xed0e12c7	0x6ab12986	0x32d1f391
+	0x10d545fa	0x5771a8a2	0x0cc7aac1	0x90352208
+	0xb8f980be	0x39d2c41d	0x60474238	0x54f2ab34
+	0x29cf4e10	0xf29aeabc	0xf1ab8e24	0x167c2b39
+	0x83e05ce0	0x12e6ce1e	0x35afe73e	0xd9095f05
+	0xfb41fec5	0x564488c8	0x94a858b5	0x8e940dea
+	0xf624ae34	0x85efbb1b	0xcbcfb146	0xb9455026
+	0xb4e40bba	0xc3195d35	0x1cfa4bf8	0x2d49eec2
+	0xf6695b41	0xd220af6f	0xfad02fa4	0x8af9362b
+	0x7d1dedcd	0xc5667cff	0x897bc389	0x831fb846
+	0x2442033e	0x41ebff58	0x05502fd4	0x43574914
+	0x58530064	0x11c1e752	0xbbe62845	0xa7618ec6
+	0xf1627ff5	0xafb00250	0xc3824684	0xee3eec52
+	0x337942b2	0x7a3a291e	0x857f05f3	0x15719b81
+	0x66fe3f57	0x88280481	0x5c866ada	0x2c1f07c6
+	0xcef7155b	0xd3a236b7	0x90c96bdb	0xedebecad
+	0xc478b1d3	0x75dc8363	0x340738ac	0x4d15034c
+	0x1cb8e2e7	0x41ab7b1d	0xe798cf70	0x3a33131e
+	0x6a43e6a3	0x386192c6	0x59693949	0xd6b28e16
+	0x22468abb	0x6f23eff8	0x22aaa858	0xcfc1443e
+	0x092215c9	0x894b362a	0x17819cca	0x75eacf86
+	0x9e8edcd7	0x578501fa	0x888b8186	0x7849f9ea
+	0x18a5f279	0x1a0608e0	0x3f79a285	0x5a9cccb7
+	0xc8288846	0x8153e63b	0x06745426	0xfeb7dd82
+	0x37967ee7	0x6501bdc8	0x2b1303ff	0xf105ea53
+	0x1afd9ea4	0xd7f0c26e	0xfc9d98e0	0x3adcfa5b
+	0xb95372a6	0xcf0737ae	0xd6f56c9b	0x3d047e23
+	0x1742e108	0x730cea46	0xd61b5674	0x1d4a0bf5
+	0x9f9a0d2d	0x15751fa5	0xd1f78c6e	0xbcbf0f49
+	0xf02861da	0x75c73284	0x565ac314	0x74f424cd
+	0x2de2c5d0	0x8b81d64d	0x7da7ed9d	0x0dec53d5
+	0x119bcb0c	0xe3280bc2	0xb8876379	0x61d9315e
+	0x76e711d2	0x5f7d25f6	0xe536781e	0x48bb7127
+	0x0241bdb6	0xa3f5c283	0xa4e289e7	0xb0c00a9b
+	0x31437997	0x8360ae3f	0xa89404b6	0xb5049139
+	0xecbe777a	0xd5aae954	0xa7e3497d	0x766e436a
+	0x00311364	0x09c314f6	0x03f4992b	0x57cf2522
+	0x717d0b4b	0x3f0c50a4	0x6f2faa6b	0xfdd19e4d
+	0x136b4811	0x2ec4df6d	0x540e503a	0x4ef99a84
+	0xe190e376	0x4c6a2b6d	0x898e2adf	0x30816632
+	0xb595e258	0xe1b16383	0x9a0dff8f	0xed42f0a8
+	0x12314f07	0x2d51c21c	0xf31c3c3f	0xc112dd94
+	0x052fcfe0	0xa567c821	0x6892dec8	0x07c26300
+	0x1799a9ef	0xf2ef0828	0x30cefea6	0x3f6919cf
+	0x5d3d2396	0xcb2f347e	0xf626b1ef	0x449fbf5b
+	0xffe2da0a	0x33d5d2bd	0x44d7d222	0xb24a94a0
+	0x04503d1b	0xde3efdb1	0xb6a30029	0xac134d4f
+	0xabb57951	0x4f3e6cb8	0xdd738dc0	0x598dd5ef
+	0x80fdf47f	0x756d4968	0x95449696	0x44dd4689
+	0x3781c7ee	0x8b3c7403	0x51b86cce	0x90d40f13
+	0x50296220	0x85637fab	0x11430ba6	0x37b6fe45
+	0x06923d07	0x75119847	0x2b16990a	0x558a824c
+	0x4f7ed662	0x6ff01850	0x73301b84	0xa9f8cacb
+	0xd47591c9	0x239f5de5	0x978dcd1c	0x50c99641
+	0xc4331a17	0x9c42adda	0x33adb88d	0xf278e923
+	0xe4f30829	0xe505a03c	0xd83ee3b1	0x46bf73fa
+	0xcfd0610b	0xe5904ea6	0xf1aef3d8	0x4f38284b
+	0xdc0ae0bb	0xb63412e0	0xd871cbc5	0x95e54457
+	0x4e6b6ee0	0x796e632d	0xb02c54d5	0xff6e3a26
+	0xcf25f241	0xa264f1e9	0x9c4c5a83	0xe8c67201
+	0x8a54d34c	0xefeef65e	0x224eda49	0xb66a6c4a
+	0xb7947d42	0x1b9cc0c4	0x18f24b32	0x265ba45d
+	0xfe433ce5	0xc878de4a	0x66239035	0x3e55f422
+	0xabc11200	0x5b3ceeb2	0x79972610	0x13b5b5ba
+	0xe0ec8eca	0xf5f2a0ee	0x98bf92e3	0x5bd78dbb
+	0xfe01740f	0xc089bd76	0x033dc19b	0x43d76143
+	0x34ce988f	0x57c18ffb	0x73d1ddb2	0x051a4e3d
+	0xc635e701	0x4a0ddefd	0xb10b6cda	0xabcccffd
+	0xbe1055e2	0x5ecae7cf	0x880329ec	0x7590ea81
+	0x967cc129	0x78faa2e6	0x7e0f8e38	0x222bd775
+	0x31943949	0x8c5e77ef	0x9fa68d99	0x5d90ff61
+	0x62b9de80	0x8f42ed5c	0x907a18fc	0x851b4e2b
+	0x46992571	0x0a2b6586	0x938b91c8	0x4475b4f1
+	0xefdd87e5	0x28c7339f	0xadc025bd	0xfe9a46ef
+	0x96b62846	0x9600fd60	0x8d30853c	0x5321f086
+	0x51504b37	0x70f70c0e	0xd3c63718	0x4ee48d14
+	0x0f42ece6	0x4c7788db	0x8d0838d7	0x487d073f
+	0x3c0c9a41	0xb02bd044	0x8509af73	0x6dd6f7a3
+	0xb0fb556f	0x92c15d39	0x35c3dad0	0xcea85451
+	0xc7d26893	0xd59a4be3	0x24c3b5e8	0x20ae4992
+	0x46fdf7ed	0x237c7116	0x6cf591ab	0x069f6538
+	0x0c1b1441	0x3b5be741	0xb410ff01	0x20d511b0
+	0xf2c96bda	0xeed21dc8	0x2a3602ee	0x08f774b9
+	0xf77317f1	0x788a9067	0x70907446	0x16affdee
+	0x999869fa	0x4d164296	0xab34d654	0xf7992cf2
+	0x676ec9ef	0x8e9b8b12	0x33ae21bc	0x1971e43c
+	0x28880c9f	0x1a62e925	0x76dc574f	0x15765e0d
+	0xe41a9f10	0xa7bfa8bc	0xa6a68542	0x5368b186
+	0xe235e3d0	0xc89c2aaf	0x2644f5e8	0x577a3fc5
+	0x0529603c	0x77c89615	0xb89aec94	0x9c8406a1
+	0xa340c976	0x343625f9	0x2e6031ea	0x2202e06e
+	0x97d888d1	0x1902d335	0x86c3b9e9	0xebefbeab
+	0xd0732d32	0x8be1ac34	0x4289df13	0x4f44a9fc
+	0x0871780d	0x413a895d	0x893db7cd	0xb58cabf0
+	0x8a20ff00	0x6529c6d3	0xd6d22f25	0x4cf7c2f8
+	0x427e50d9	0xaec1c707	0x91695339	0x711708d4
+	0xdfdd7fe1	0x5e9df851	0x65722a04	0x05d8da5f
+	0x27c91699	0x1efd60c9	0x940a132b	0x7ea2851a
+	0xd9fd9dff	0x0a541bbe	0xc0d63c35	0xc12929b2
+	0x33610416	0x502b2626	0x5228b15b	0xd94d4b35
+	0x14c0b45f	0x64ed4b0b	0x78af7626	0xc2e9046f
+	0x7a12f190	0x42beb256	0xaea48841	0xf0e790d7
+	0x72973deb	0x11cfeefb	0xba5cd0e5	0x1a1f41a7
+	0x65c06ace	0xac49a1f8	0xbbd82cf8	0x415035e0
+	0x33ebda26	0xc908a605	0x8dcf8b85	0xd4569ab9
+	0x2e5f7de4	0x2d0a3ced	0xe7c29493	0x6fb32111
+	0x71f9535b	0x63cef544	0xc2215455	0xb1574011
+	0x17b0b0af	0x4c9436d5	0xb16fdefb	0xe33c66aa
+	0xcc2e67f6	0x10f09eda	0xd46e0144	0x99dc690a
+	0xdecf7f81	0xc421b916	0x703e1199	0x6e074b90
+	0x259fcebd	0xb4e7dbcb	0x4045f119	0x4034d34f
+	0x0a52aeeb	0x0f8e2b36	0x3ddaede3	0xbd012dd3
+	0x7fdef8b3	0xe0071859	0xfb279d23	0xa8eff030
+	0x30e2b0a6	0x7c50a0c6	0x97dd696c	0xee072f57
+	0xe45d0547	0x3a4a96a7	0xc59bfeb4	0x37e4449b
+	0xb165ce74	0x2939ff17	0x2c16376b	0xacde50da
+	0x3e57b316	0x589a14a2	0x8ed5557e	0xfd6bdf76
+	0x57348636	0x77df0b9d	0x49e6e4ac	0xe9a3ce3f
+	0xc1b06ddd	0xaa5111eb	0x748a53ae	0xbde72bb6
+	0x7b2d7f63	0x7ed5bf06	0x98389845	0x17c8d9a3
+	0x4cace2c0	0x441e3441	0x67eb5256	0x59e7cd3d
+	0x46ffac59	0x8bd74b6b	0x09abf015	0xdedf14a6
+	0x92ed879b	0x116b4a44	0x471ce853	0x9c649ad6
+	0x9f1838c5	0xc4beea8e	0x747900dd	0x48ca9e9e
+	0xaeaf94fa	0x1c03c132	0x44662d4f	0xa537d972
+	0x589a90fa	0x57332041	0x2f8349cf	0x64364c6d
+	0xff5f1aeb	0x681dba1d	0x4eeebbef	0xedade9ef
+	0xcb938dfd	0x0164c6d7	0x13b9bc03	0x18b407e9
+	0xb298e043	0x9b224562	0xb645ffd8	0x5815aa44
+	0x4793d73d	0xb56f0e9f	0x8c9044d7	0xe41109b1
+	0x2710c352	0x4b7dcbac	0x38f754b7	0x3c6cf465
+	0xb54ee7b2	0x856a179e	0xe86338dc	0x1e7e2b53
+	0xe89b7e12	0x15c42976	0xad7a65ae	0x0d8a7cc3
+	0x4bc02b15	0x517a40d9	0x11c81722	0xb2bff7aa
+	0x0ba28f37	0x6c9e84b4	0xa1de9a97	0xdafdc842
+	0x418082c7	0xac99eb05	0x440d81bc	0x0f8281e7
+	0x62386c2a	0xe9772f62	0xdc79a423	0x09b53e98
+	0x84c3c90f	0xca17ba91	0x1c6389ac	0x873c14d9
+	0x2c259be5	0x1cc07fd2	0xfec486d5	0xc24694f4
+	0xdf474401	0x7be2a72b	0xadb66511	0x81209edc
+	0x62da35e7	0xcb368410	0xe80b6818	0x26cf9c82
+	0x321e312f	0x9cc8a82b	0xbf9ebd18	0xc598d6fb
+	0xc21858cb	0x6dc72a46	0xe44aa56a	0x82fbdec9
+	0xbd732010	0x6975adca	0xe5ddf36c	0x72bedc92
+	0xde4c0ccb	0x9e6e20b4	0x6bf5ce44	0x0a6eb5d8
+	0xa439cda7	0x055f776e	0xedf823ad	0x298c0f7d
+	0xdd6c8d9c	0x066e9378	0x86847ddd	0x151bda4c
+	0x61ec7724	0xbf3de534	0x64d80341	0x9c608f22
+	0xde5d94a9	0x7423895b	0xadfe2881	0xc7acfc0c
+	0x7ff035db	0x42c2ae6a	0x0cd9e52e	0x425bf47a
+	0x41cb2f2f	0xb0d034ae	0x1cbc0c50	0x9ae9ee61
+	0x40fd456e	0xcc5ddf76	0x3e5c52d7	0x4f7e55df
+	0xe88c725f	0xa38d12db	0xa63d5340	0x7a65f347
+	0x5d8e6ed0	0xb6140480	0x1d038fd8	0x32041136
+	0x1c45b5ee	0x5100ab0e	0x98473545	0xa92e7dab
+	0xbddefe68	0x6eee94c9	0xcd046fd5	0x9269ca4c
+	0x9244ed01	0x68b9272c	0xa2abf1f9	0x0c5eb602
+	0x3cee855a	0x8d449506	0x968687a8	0x69fc4521
+	0x89fb7d41	0x82d335c1	0xcc7e2c7f	0xdbdc20c1
+	0x5adb4bc7	0x429ea826	0x99c6d2b9	0x8f684704
+	0x53361f81	0xb8c4a550	0xd079cafa	0xe28fb54a
+	0x170c157f	0xe5faa727	0x9d37b6f8	0x7a0f88b6
+	0xdad0aa7d	0xe6eb4a39	0xa8391bbf	0x912bd27d
+	0x7676a2c9	0x67ebb91d	0x4f090fec	0x4148f1c1
+	0xb8456040	0x56befd92	0x9089e3a8	0xc2568a9d
+	0xeb649427	0xd904af9e	0xf99984b8	0x4467144f
+	0x79efc76d	0x75589aec	0x9f168b29	0x4c048855
+	0xc0fd5d25	0x4a58fa2c	0x31b194c1	0x8a801969
+	0xd5e0000f	0xa2f9f4e8	0x8591ac20	0xc0fe5118
+	0x5b7f969f	0x21a9dff2	0xbef3c51d	0x51873dda
+	0x207120cc	0x690d99c9	0xd532b33d	0xab0d4ccc
+	0x7452bd5a	0xa17f7858	0x5289f83c	0x7d0e053a
+	0xd906a982	0x6778d47f	0x005db3a7	0xe88104e2
+	0xc52df471	0x44db6099	0x995d4c1f	0xeca903fb
+	0x3eb38a46	0x3a656171	0x24945ee1	0x35439de7
+	0xbf95525d	0x9b4030a0	0xb518b00a	0x137ebe42
+	0x0997e7a3	0x1f344a83	0x00241146	0x40e74f33
+	0xb1cd34d2	0xfda51a35	0x7cc94789	0x2cc46a7b
+	0xb966a92b	0xdc8f9838	0x2a2fc869	0x846778b0
+	0xc2ded51a	0x88000d7a	0xc6d1a90d	0x2e4c17a2
+	0x112e4409	0x489edcfe	0x5be08376	0xf004d962
+	0xe26e28db	0x4ddb374f	0x6801cce8	0x35826ef1
+	0xeb3b8c3a	0xf209ce2b	0x728ad017	0xac4e76c3
+	0x721ad4c1	0x67da600f	0xeb8fe821	0xdecace00
+	0x0c355770	0x3d28fc3c	0x2eebca24	0x4753b9cd
+	0x0b945832	0xf4120f6d	0x588409fb	0x15a94438
+	0xa727a943	0xa95217fd	0x0ded75a8	0x1a556482
+	0x767d35c3	0x9d96d689	0xe8c6df73	0xbf229244
+	0x12bf8389	0xd5dc4782	0x2b2bba74	0x53a49a14
+	0xffa085b8	0x314087f6	0x3e036542	0xa9517e8c
+	0x6b6da9d0	0x15dd4ae0	0xe7ce03db	0x7abff8e0
+	0x89fdc6ab	0x28ed5196	0x8c79b0d9	0xa80f7919
+	0xf121a584	0x9809d3e9	0x83cc73dc	0xa4e51962
+	0x370d9307	0xda518436	0x5ed4c7e0	0xe024a1ea
+	0x0c524b24	0x3bb0bbc8	0xb4cee95e	0xb2622308
+	0x1fc85d64	0x1e836175	0xd43fdb9a	0x39d05c71
+	0xf8bcc9fc	0xd33a53d7	0x9c4d3858	0x2fa63ff2
+	0x351e8720	0x32419c0c	0x8fe0b68d	0x326a8a91
+	0x44625b27	0x52b2716c	0x22eb5861	0xe1a87187
+	0xf5ff95b5	0x0e9a42c0	0x3700221f	0xda6c81dc
+	0x6ec82ed7	0xebbc013b	0x907b528e	0x71222e15
+	0x17bf4813	0x9d8577e3	0x325ad1bf	0x2f98087e
+	0x6656baa6	0xf5bd91a2	0xe5bf2aba	0xc2e16644
+	0x8fb13479	0x0a19eb78	0x80cab720	0x02889d26
+	0x81d32f06	0x666bed5c	0x58aba47e	0x9f36ec4e
+	0xa6f8a312	0xd50dfc50	0xda6ee1c8	0xbf2dbd1e
+	0x6dbe34cb	0x2ee1459f	0xaf3ba125	0x69453966
+	0x0cf984ef	0xbee72495	0x9e1befb9	0x9785668d
+	0x7861dc74	0x16dd92c3	0x9c39366d	0x376b20bb
+	0xb08d0942	0xd2415614	0xb5eeddaa	0x92f148b3
+	0xc1fdb0ab	0xa64e8a08	0x11e6d898	0x7e345541
+	0xd7d875a5	0xd396f516	0x8cdf8a23	0xb324f279
+	0x07382961	0x35e5b607	0xff378354	0xa61e6e1d
+	0xe7b6830a	0xe4022021	0x7230e616	0xe113b776
+	0x595fc933	0x7052027b	0x02525cc7	0x23637336
+	0xae0dabfb	0x46492daa	0xb57f5cc3	0x7f8ff15a
+	0x70126d10	0x6a6b896e	0x330654c5	0x3680f93b
+	0x04e705e7	0xf89c1eca	0xab401dab	0x7fad939b
+	0xc9d8900b	0x29ca3871	0x2931e4be	0x26d73a89
+	0x74c2602f	0x61920680	0xbf532c23	0xfbe87348
+	0x5ee7efcd	0x8228b6e9	0x404e6492	0xbd577535
+	0x1ae12b2c	0xff26b6cc	0xeac396f4	0x04102950
+	0x28a698a1	0x26ab1d9a	0x06f0e8d1	0x82eba335
+	0xbace28f5	0x7f7efab6	0xc9ef2555	0xc5b33992
+	0x74f481eb	0xcfc2a96b	0xbcabf5cb	0x118a80c5
+	0xf815ac13	0x06da52e5	0xd70f8c6f	0x54af4177
+	0x7890b2ad	0x20c1a59b	0x5d1e3c26	0xb0fdd3aa
+	0x53b8120f	0xfff85542	0xfa402307	0xbc0736ae
+	0x3b05c066	0x9e8794ca	0x075af678	0xc540a9db
+	0x40d0dcf9	0xa9bba474	0xebb1b883	0xff1f4933
+	0x97a47b97	0x321b2d6b	0xf01a64f1	0x7d571e58
+	0x8889079e	0x86077eb3	0xe9f91569	0xdf70fe84
+	0xc6bb5b9a	0xf648ed36	0xb75c1714	0x0438e727
+	0xb30d2344	0x6e972d08	0x45164e18	0x3b325aa6
+	0x5fb60f83	0x8e836a45	0x55a693bf	0x704da46a
+	0x0924a501	0xff86991e	0x55bef546	0x9f8b4aa0
+	0x91574c19	0xa3e712de	0x4f9c39a5	0x227962ec
+	0xaece98a3	0x717c7193	0x8bebd8ee	0x8a63eed6
+	0x8907428b	0xd6293e59	0xc4b12c7e	0xc8deb375
+	0x686f9d67	0x141838c7	0x45e4c565	0x814d20e2
+	0x140103b1	0xf88b55c4	0x8b128c94	0x449cd74c
+	0xe4ea1fff	0x9432845f	0x8e700f5b	0x148a70d1
+	0xd0d20a83	0x5422d311	0x4b2562fc	0x0002e6f0
+	0x624bce41	0xfb72d76e	0xaec8229b	0x8511a0e1
+	0xaf3358be	0x23161922	0x7e4a88d4	0x0792e30e
+	0xc29c52b8	0x0ee24229	0x9ec21326	0xa53a3904
+	0x0a3c0eb2	0x973b1d25	0x02884f03	0xcdac8153
+	0xa8f17003	0x2ab6a386	0x59057b41	0x2bc5d886
+	0x86e91ce5	0x7211383c	0x06e20628	0x09361cd9
+	0x8128d9d9	0xc21195c0	0x43f63562	0x46d05de0
+	0x7ed2ef09	0x65ab5805	0xb6963bee	0xa1873132
+	0xf9998e7e	0x84ff6a0c	0x00fa22b5	0xc84432c6
+	0xae963ba5	0x80660ec9	0x2c25ca27	0x17b0b858
+	0x935459ff	0x6dddbdfb	0x418d3c0f	0xd3c6b5af
+	0x1e19e0a1	0x720d5e50	0x0ec48992	0x577c29ff
+	0x5837580d	0x0a7bd481	0x3f13a685	0x96b9ef69
+	0x977ead5e	0xa3e4ae2b	0x96f97a6f	0xd93d0904
+	0xdd5128c5	0xd2a00577	0xc1e6b315	0x175f49e8
+	0x79a4afad	0xa6d864a3	0x98d68c49	0xc54d1d7f
+	0xa0031e9f	0x82580ab0	0xe8567a5f	0xd853d485
+	0x0704e3ca	0xd8afbd7c	0xfe0ab692	0xa8dcd22e
+	0xeb7f1064	0xe565a37b	0x0f429464	0x94df9a46
+	0xb4a43a3a	0x85e7520a	0x828f17d3	0xe404df1c
+	0x02a24101	0x107347d3	0x64eb1552	0x127f2f6c
+	0x8722ba2d	0xb0e56339	0xf9ea6f68	0x80a535ee
+	0xbbc273e7	0xaf777c05	0x8638b501	0xb855c346
+	0x3c0a200f	0x280d2842	0xf727be3e	0x9d322582
+	0x71cf64f5	0x8ac26843	0xd4e8cba9	0x41b357d3
+	0xbdcbde9e	0x606b63d5	0xc793a0f4	0x729b875a
+	0x6a8f1a7a	0x5e0c326c	0x40780713	0x0ae7bb36
+	0x84184229	0x583b1e87	0x2c931de0	0x34d75344
+	0xd38c92ef	0x6a90cd78	0x4442aa32	0x48ce80eb
+	0x7419f27d	0x1f6971c5	0x94f2a389	0x38c4009b
+	0x3b663629	0x19adf150	0x8874214f	0x08a52607
+	0x946fcf9b	0x27c2cbaf	0x2969f147	0xf8fa352c
+	0x5422ac80	0x732d4b75	0x9c44517c	0xdd5e855e
+	0x24325f35	0xb56ff386	0xf2eac65c	0x09382b69
+	0xd6d63436	0x00b3471d	0x9cc6bb3e	0xd64770bd
+	0x4fee58cd	0x400cecfa	0xc9bbf876	0xaa4becb4
+	0x65d693d3	0x4ebd85fd	0x5274bf54	0xc28419ef
+	0x019bd1ce	0x8828234f	0x2361215c	0x9c996c26
+	0xde0560da	0x3be8a4c3	0x63f1a25b	0x1f3db503
+	0x433fcba7	0x27bdf9db	0x9e75e926	0xfa9a0c86
+	0x93144220	0x7b5c5dfb	0x831b0bba	0xac237612
+	0x9125e97d	0x18bc3d44	0x187e65d6	0xa7f1e29f
+	0x4949a362	0x49490a5b	0x9fd7f5c9	0xd4aa1ed0
+	0xae02d433	0x3c8a1c45	0x74aece0a	0x9281873b
+	0x74d67c84	0x7c3ce8bf	0x42d390b2	0xe1b67960
+	0x924c912b	0x39db2dd8	0x0fc0daae	0xefeb1793
+	0x86933e2a	0x79dc30d5	0xd6093f15	0x69c3e88d
+	0x4b4f4281	0x5aa01736	0xc6d4be3b	0x9e961328
+	0xe7c9d7f3	0x4cf1cfe3	0x2b7d0cb1	0x018e150d
+	0x15780565	0xf076db48	0x63c70787	0xcaa9d201
+	0xfb417ce2	0xba23b25c	0xc54e1651	0x9bf2a3c8
+	0x8bed1da7	0x842a94a0	0xd5a7eb11	0x06913cbd
+	0x4620eb05	0x76076fe6	0xfe87a105	0xcac81f51
+	0x9ddeec05	0x83ae9c88	0x682fb66e	0x71f2eabc
+	0xbab703ff	0xab9d687e	0xcbe35917	0x5976ce5e
+	0x0ef568be	0xdd8a23ab	0xd1b94ce9	0x14d47a65
+	0x0a21b6d5	0xb2cabc60	0xab6fbe1d	0x55ffee0f
+	0x59509606	0xf353d47c	0x83ae774a	0x3666736a
+	0xf5fb86ee	0xa1aeb0da	0x1d826dfd	0x873340a2
+	0xc1ea76d1	0xe05c76af	0x2ee20af9	0x27a1d100
+	0x9c4a42cd	0x0c44fe38	0xeff8de27	0x05ca0de9
+	0xe95f6fa1	0xb7bcff23	0x5c523206	0x4f31cdc5
+	0xbfe4910d	0xb1b1c09b	0x7f947c52	0x5cf70669
+	0x5be2fccc	0xf0f52eba	0xf8891b30	0xdbcd2578
+	0xed18f963	0x6953d3f0	0xdbc69319	0x4ac03f2e
+	0xbb073adf	0xbac8210e	0x3f7454da	0xe250ff05
+	0x53fe6a2c	0x9b096e66	0x0c2b33be	0xc9a66cc8
+	0x25fdfa7a	0x211597d8	0xdac355c6	0x3b0b8086
+	0xe1cb957b	0x34ead4b4	0xaaaace1d	0x45470209
+	0x4afe8bab	0x1f383d95	0xc4eb5e38	0x3a4adec6
+	0x9b68485d	0x0028ac74	0xc892a7ae	0x112963c8
+	0xedfbfd1b	0x9bc2a1e7	0x77e86452	0xf7285e2d
+	0x5165641f	0x0be144bb	0x26f32616	0xa889df07
+	0x8de11d0c	0x1ae8026b	0xa40c0afc	0xf66e6b1b
+	0x2f3a3959	0x0f96159e	0xd383fa2c	0x6d8ac6f1
+	0x77e3e042	0xe9d05a47	0x3483a623	0x0e13671a
+	0x8afb2f74	0xad1ee74c	0x2008e340	0xf5b7fe4d
+	0xbd46ec33	0x4cadba9a	0xc86ee5e5	0x12a441bf
+	0x8700bd26	0x1677d9a5	0xbb5299a4	0xc03f06ff
+	0xc015876d	0xdf3ae9d3	0xebafa8c3	0x7407fc93
+	0xc13c4432	0x5263ee0c	0x85b4cb87	0xe95c88fa
+	0x812ba6fd	0xf117a989	0x82a07176	0x1051b99f
+	0x3998d57d	0xa182e824	0x26d164ad	0x47244eca
+	0x436b2d02	0x5690b951	0xc4a2b7e5	0x9c3f4d63
+	0x9d5771ca	0x74bff8cb	0x3063c36d	0xc6624e63
+	0x93cfbdff	0xa392d1a7	0x8917d687	0x542dca54
+	0xf930db3c	0x530a62e0	0x6c3139ca	0xc733bbf5
+	0xfa22ff43	0xf91198d2	0x27ebc843	0x6fc4a872
+	0xeeba081f	0x71d8a984	0x2cbb615e	0x08f28f4d
+	0x2c242252	0xde7bd041	0x5e337eb6	0xdd6a8653
+	0xbe10c145	0xfb5c313f	0x9c8be692	0x3e9c4715
+	0xd3a028c0	0xd87cf41b	0x2d7ce48a	0x3527909f
+	0x2fe5a866	0xb8d7d44a	0xdeea8a8f	0x7e39ca58
+	0xaac93e0a	0xec7dcb33	0x0ddf07db	0x024c82f9
+	0x4c06c528	0xb1c9bbfd	0xdea798d2	0xc0518d93
+	0xf9309f76	0xe3a80954	0x5f5fc8e7	0xe42ce642
+	0xc13a067b	0xeae08cce	0xbf7a70a0	0xc23e36fc
+	0x57b7e071	0x74b9fd8b	0x49cc2ee7	0x566ae6f2
+	0x1a566458	0x0fba6473	0x207838e2	0xf830c013
+	0x2ad8f7e7	0x4a962bab	0x5656179b	0x50edfc20
+	0xd7eceadd	0x19833983	0x0ac98913	0xc78e1e72
+	0x22626a8f	0x07abac2f	0xbf64e3b9	0xd6e2be8f
+	0xf3bd33f4	0xc1d727dd	0xe6ab80c7	0xe01d5026
+	0x0b9f81b1	0x167d09db	0x168f9fd8	0x270f1384
+	0xeeaf0e65	0x33f0c489	0xd3871743	0xd885ee70
+	0x49157f15	0x4677fd7c	0x06211cc1	0x4dd6cda4
+	0x92f0e059	0x8bd2481d	0xf580ab05	0x74cea2fe
+	0x0972a039	0xe362b4a9	0x18a688a6	0x32eea77a
+	0xb4b28ba8	0x366b59f2	0xfd04f522	0x97cee744
+	0x455e8819	0x2db1da4b	0xb2ac81ad	0x85868d24
+	0x91a9b381	0x2ce1ae15	0xc8261a26	0x3c314755
+	0xf57d98fc	0xcbc1eeaf	0x26a2423d	0x3e4b57c1
+	0xd411d2c7	0xfd70ba8f	0x42940578	0x1fffe7a8
+	0xa34c60b5	0x8fe0d771	0xeae9f523	0x928d2b17
+	0x6174105b	0x42e3ab20	0xfc8477d0	0x0ff054a1
+	0x2896b26c	0x33fc61cf	0x5b8097d5	0xafd8a429
+	0xf18e6b50	0xcdc292e9	0xa2846d37	0x82656479
+	0x05e34533	0x3cc6434f	0x5a132ede	0xb2b47148
+	0x2380b9fc	0x6413dca9	0x3609f82a	0xbcfd5ce8
+	0xa234f6a1	0x70c158c2	0x8d516132	0xf8ffa8b9
+	0x39629663	0x361d3077	0x54d3a1d5	0x5c78770b
+	0x0d12c667	0x200ee0a0	0xb4c5494c	0x417161ad
+	0xd641d326	0x7e6c924e	0xdcb14454	0x52ec57a9
+	0xbdb8a491	0x214411c6	0x0f7aa41a	0x219a4610
+	0x77aa93a6	0x9f260e58	0xab671d2d	0xa738db71
+	0x3b794aba	0xd4d96e58	0xf4234dd4	0x119417e2
+	0xcc18e115	0x28abe734	0x2e3364f8	0x0eafdb5b
+	0x9a917e82	0x6c49a8c8	0x41cd3d33	0xd4d4c8dc
+	0xf2fdd3b7	0x9f033d83	0xc6383f73	0x615ab71f
+	0xd59d74b9	0xfdb24bd3	0x1a2b929e	0x9850abc1
+	0x06ebadb9	0x452d5748	0xd4dbd979	0x319b06e5
+	0x8cda871e	0x4c4d8acf	0xa65d3c10	0xceb80135
+	0x6362f88c	0x588c3cbb	0xc92e07a6	0xdf156666
+	0x5776a8dc	0x24615805	0x78a31c47	0x0a8e2897
+	0x924e21ea	0x3c9e4844	0x8beb8379	0x1a97c923
+	0xa66ce316	0x19b2520f	0x613db392	0xde86323b
+	0x6d986a88	0xcaa79411	0xe5236511	0xdcb10401
+	0x180e3dd3	0xccd3566c	0x34fe6a8c	0xdca4d272
+	0x7dc2d6b7	0x3445be9a	0x60ab92ae	0x973b90de
+	0xa0819660	0x3f3da862	0x7f948121	0xe35d655f
+	0x1f974969	0xd77e51db	0xbcac7e3f	0xc2e5ca0d
+	0x4a0fa8bd	0x3089fa79	0x5038a272	0x1309f923
+	0x2e2615f2	0xb1b51edd	0x6c74acb2	0xdc1348ca
+	0xf72c0596	0x7fc0ff17	0x23d5de89	0xe57f53b2
+	0xc2c3bd15	0xeb38d68a	0x0f5fc1aa	0x048aceb3
+	0xaf834119	0xb87a70cd	0x6f55c303	0xe805dc32
+	0x428f2215	0x8c1fe4a2	0x60f3f83c	0x958b6397
+	0xe1636adb	0x2d664743	0x407145a1	0xb99881f5
+	0xe69cdc72	0xf9ea8ca8	0x10990d7e	0xdce842e9
+	0xf516bbbb	0xa135ecd6	0xadbf1a3e	0x894687d9
+	0xa7f833a2	0x7c28a41f	0xb2bae9e9	0xb601eb62
+	0xd15f1fb0	0x812f61cf	0xe3833aa1	0x9dbeef8f
+	0x44020023	0x8dc8bed3	0x89319828	0xfd2eb018
+	0x00fedd3e	0x484dfa16	0xf7509751	0x5efe134d
+	0x30e92cba	0xd3d915cb	0xe2a6ea2e	0x6980c6f7
+	0xbaa228cf	0x439a0d8c	0xfb7dbfcc	0x482b24f1
+	0xe7de15dd	0x2fbfba0b	0x32ff4379	0x6d3235f5
+	0x643c45ec	0x271b652a	0x89e7ff62	0x0ab8b2be
+	0x09378021	0xce24e1e2	0x6565cf41	0x6f72e9d1
+	0x8767b9b2	0xa07dee1d	0xfecced65	0xf99321f0
+	0x8005ef02	0x842d1c6e	0xcd2c837f	0xe3614a4c
+	0xec977891	0xe632b995	0xbea82e41	0xd31418d5
+	0x96608016	0xa7ceb9fb	0xb02cb3ea	0xb0343ccd
+	0xacc278bd	0x142e4f1b	0x3d233a7f	0x4af4c3db
+	0x85279e02	0xe7b8cf1c	0xfa9bcc8a	0x72b8902f
+	0x7f45fe1d	0xb2726325	0x9c1d71f7	0x83935b50
+	0xa136f758	0x396424e4	0x674c2a3b	0xb8077412
+	0x547677bd	0xc47f916e	0xb4c3357f	0xd1147d60
+	0x228303a1	0x97d7b3e1	0x355d23a5	0x778f2f18
+	0xa20d6acb	0x7062246d	0x04aad4d3	0x4696f496
+	0x1000ac5b	0x5005eea8	0x51a26d3c	0xd782018b
+	0x65eeee7f	0x4a37d244	0x8d5c78f5	0x4276c06f
+	0x7b051c97	0x340f3f54	0xc818f340	0xd5436752
+	0x311d7cee	0x87f1ae54	0x77c99d33	0xcf913f56
+	0x97a1faaa	0xfe3a1719	0xba390f82	0xb715b00b
+	0xddfa1183	0xf3af7c0f	0x8601aa46	0xd18e0cbb
+	0xff036109	0x4985dbbc	0x4ed2596b	0xaa4dc69c
+	0x707e2300	0x51d4ed57	0xceef773d	0x7b70150e
+	0xfe007480	0x000041fb	0xc0fb79a8	0x437f1ab9
+	0x7fb711e5	0x833c06f9	0x064f9291	0xa9c5a76d
+	0x402383f9	0x9a5b6de3	0x5fdd7c09	0x69c57f17
+	0x243a4d39	0x4b91a17a	0xadb16f23	0xa95843ba
+	0x52dc3827	0x5c15f379	0x76f0179a	0x65792a3e
+	0x5becc4c3	0x879159af	0xdc96e7b4	0x81c96a72
+	0x9cc3ef98	0xc9a03721	0xb5e0e950	0xba46151d
+	0x73522da1	0x8e5f8e26	0x0ab8c9a1	0xb9e86fd6
+	0xb133c5fb	0x0605aa96	0xadd00ab0	0x759b6321
+	0x7f9d9ef8	0xdb242bb2	0xa4b339ad	0xe332a5e7
+	0x66d52605	0x3a03f318	0xff0d15ae	0x1db610dd
+	0xf65b1039	0x97be3c69	0x22a104ab	0x4a6c1b6e
+	0xc1bc3435	0xd57c4c33	0xec1a3ca2	0x5161f419
+	0xb2cd0cee	0x71a394dc	0x94c23225	0x42b398ad
+	0x29164e15	0xfaad2b2e	0xca59ad9c	0x360a976a
+	0x0c8d7304	0x8fd6ac30	0x684c3d63	0x564defb6
+	0x265b343e	0x22158f4b	0x354cc488	0xb5059d68
+	0x014520a1	0x6c493ce9	0x221166bd	0xdea1f9e3
+	0x2f69ca64	0x9c3ce396	0x7d1a5f8f	0xfd6a57c4
+	0x8764c0ec	0x41e15814	0x35c1bad6	0x2c539519
+	0x65087c3b	0xf5b3830c	0xc2bc2993	0xa1b3cf19
+	0x576391f6	0x5ce0cc84	0xab879f90	0xced4619d
+	0x19b6bd51	0x355d2c3c	0xa4133356	0x8a0e318d
+	0x535b8cc9	0x35660d4d	0xbca8d6ee	0x32215f13
+	0xde46d9f9	0x982ad7db	0x9f7eec2d	0x5282abc7
+	0xddf348d7	0x43cd6a3d	0xd63c9cca	0x7ca44fa2
+	0x0bc2f640	0x97498df6	0x30501800	0xd61520cf
+	0xbe3f76b1	0xa25a0c07	0xaa57867b	0xc0315c66
+	0xf4310292	0x21811c11	0xebc3482a	0x3a7b6e50
+	0x9cf2d841	0x92f00e94	0xefba5af9	0x25d2d9cd
+	0x737be378	0xdce27210	0xdf16478e	0xd9e45484
+	0xe402d70b	0xd797db64	0x03fe0e77	0xa89c88d9
+	0x09f22ee4	0x729caf19	0x23290678	0xa4bb622a
+	0x8730fe6d	0xb71f3eb2	0xb48452d2	0xe6dee29e
+	0xb91933b9	0x2a4ef477	0x7d5c4791	0x8b35cf57
+	0x3f1a49a4	0x3f585ea9	0x4d3d06a2	0x3531f766
+	0x4e9314ab	0x82e165b1	0x9b0493c3	0x898c6db7
+	0xdb53b9a8	0x266dd07c	0xb2be18e2	0x1ba50fca
+	0x7cf32c0e	0x227afc92	0x52c76fc4	0xe7f17624
+	0x0cf1789e	0xb1adfa4d	0x67773b86	0xcd46a6a1
+	0x3c9ea75d	0x73d3fbe7	0x7b0d0b80	0xe88f3ddf
+	0x20bd2842	0xb67a3c9b	0x0b3db9b2	0x62fbbdfd
+	0x76df2365	0x4b2bff0c	0x9c26c9f8	0x26079266
+	0xfc18b24e	0xc38a4fd6	0xd45ce2e8	0xb30cbcae
+	0x0f80fdcf	0xf2e8adfb	0x11f4bc7c	0x98102829
+	0xe40358f3	0x50d35ad4	0x117432cc	0x4e6fce32
+	0x695d7b3e	0x98d28a2e	0xe570db97	0xc015fd81
+	0x137f73dd	0xab23d5f1	0x7e8c0e6e	0x72a1a57e
+	0xe58cfb67	0x604f84cd	0x43ffacb6	0xae73cc50
+	0xab34f299	0x0b3035d0	0xfe214b74	0xed2a8168
+	0x3da3450f	0x8e51b78e	0x253e72b7	0x8b620f54
+	0x8b63af50	0xce340e10	0xbb419809	0x5ba00635
+	0x42493b0b	0x8ee85bd3	0x49b6a7df	0x808fea2b
+	0x091c809d	0x0cc496db	0xea6642fc	0x601d5000
+	0x3589e04b	0x714096d2	0x4e55569b	0x1c45121a
+	0x04a6050d	0xfd47c074	0x57269ffc	0x3e06836b
+	0xdf8f7d43	0xab671a69	0x0d0df4dd	0x54a67c89
+	0x92d408a0	0xf378abb8	0x214d6425	0xd91d7194
+	0x6dcc9cdd	0x02d27ea9	0xd4d4a4e2	0x7bdf848f
+	0xaa4149c3	0x9df0d2d7	0x8800c904	0x192fd5f5
+	0x10dbb590	0x5b8b1e2c	0xd5b5dad6	0x30ddbf84
+	0x405edb23	0xcb906b8b	0xd9a124c7	0xe7ac7fb1
+	0x2a7a4ba5	0x90fe1e2b	0xbf9323e3	0x50469643
+	0x16c8926c	0x6dff898a	0xd56a03ee	0x29ee3e30
+	0xb1893885	0xdc1e2e0b	0x87cedfd0	0xe458d4b5
+	0xdb878d28	0xd151d52e	0x6e5aad6f	0x0ccc8b2a
+	0x5a1fe08d	0xed61dc74	0xa4649fb0	0x670c43b9
+	0xd7b22c7a	0x4fbfeee6	0x77341a4a	0x28b2f3b8
+	0xd81079dc	0x9a81c4ad	0x1dcebd98	0xcbee2e9c
+	0x746399bf	0xf3383a23	0x5c5468e6	0xefadf365
+	0xc2a7a3db	0x08c1c628	0xf14191fb	0xbbde23aa
+	0x47f7c782	0x357b117a	0x2c2a92a1	0x87ed1511
+	0xa8d709e8	0x7de8749b	0x92199870	0xb8017e07
+	0x481b9913	0xf1a31212	0x5fb4f7df	0x07e246e2
+	0x274c1754	0x14fc9659	0x2513158f	0x4f8639b4
+	0xa602189b	0xbc1e3f31	0x311ff0b7	0x5ca7c9e1
+	0x49747707	0x350cc8ac	0xf6bf896f	0xdc0bc1ac
+	0x1f0d3ddf	0x21a21a62	0x80711ab4	0x60f70fe0
+	0xaa5ade5f	0x914eba42	0x0fed2bc8	0xaf4d97d1
+	0xf294b5ed	0x24ec5df9	0x66db067f	0xfb2b6ce1
+	0xce42c8b3	0xfb027c19	0x79447655	0xf0673adb
+	0x72befbe6	0xb25247a3	0x0813dc37	0xe640e10a
+	0xf45759f6	0x328aee51	0x95d537c2	0xd2de2137
+	0x30327a18	0x9e934258	0x5f0dfd3c	0x34b88261
+	0x5ca0fc63	0xd4ff6e27	0x2f287435	0x38be55d3
+	0x3590bf93	0x6497ddca	0xb48bf82d	0x3aa7c943
+	0xf705e627	0x2ecefc01	0xe85a739b	0xd91d2b1a
+	0x178dcb38	0xded1e432	0xe119864d	0xec965444
+	0xb6866cc7	0x84160d5f	0xa72c6b30	0x78223f8e
+	0x303132db	0x00f10c7a	0x6238a0de	0x9217bb53
+	0xe0313377	0x318ebadc	0xf9854726	0x632b2df3
+	0x16ac7842	0x2c0958df	0x49a879ac	0xc49f1fe9
+	0xa3e7c05a	0x811e01d4	0x9b11ccf2	0xc32eb57f
+	0xefdfc729	0x38fb8cc3	0x6781c78b	0xfab82792
+	0x08da3c82	0xaf0346f6	0x6588d336	0x06ae489a
+	0xb58419ba	0x771f3fd4	0x53f42a79	0x0653504f
+	0x93330a58	0xcddab350	0x2d44eda6	0x7860152c
+	0x63b3e12e	0xaf7dc6f6	0x5cc5ad4f	0x95b9d06e
+	0xddcfc613	0x84f74de5	0x51694312	0x1950051d
+	0x62cc7724	0x06742036	0x92e8805f	0x679a3c64
+	0x87b8f43e	0xce386713	0x5b476587	0x300ca68b
+	0x7d2fa903	0x552489d8	0x25ead402	0x8d0cc96c
+	0xb5c5ee96	0xf0b74e97	0x999b0e56	0x217d326d
+	0x45edc298	0x5d269e37	0xc88487f1	0x27ef568e
+	0x833ff6a2	0xf832552b	0x5a56b672	0x21379d3c
+	0x5de123ed	0x1617159c	0x666699f2	0x165b3fc5
+	0x04a8177e	0x9412ca1e	0x196a603a	0x752d8a13
+	0x46bd8094	0x200d93cd	0xe6f9002a	0xd2444774
+	0x29aee76a	0x13d6cb75	0xc947e68d	0xbfea3352
+	0x2fbbf62d	0x89dad4df	0x0f771fcd	0x2b5c3135
+	0x658aac69	0xe980266e	0xaa657242	0x8440f399
+	0x19ac2617	0xe74b3e55	0x9639c72c	0x25bc2843
+	0xe5428269	0xb06b7e52	0x47e3f96f	0xc3ff329c
+	0x7e428457	0x3b877e30	0x824d6981	0x8d66bccd
+	0x3ef8b239	0xb90ceaa8	0x5323ddd1	0xfd9f9711
+	0x747920e0	0xe64253b6	0x7bd26403	0x1cc2ad5e
+	0x51612252	0x39d671d7	0x5043d9db	0x4c1d9cd3
+	0xf1e48340	0xb68e5148	0x77d7ee51	0xb345cb5a
+	0x639e92e6	0x458cb2b0	0x2cb49fe4	0x01683f64
+	0xbeae5114	0x20d167c3	0x8439bb31	0xaa11d7f3
+	0xdb14315f	0xc474fe90	0x2992dc24	0x8ed70fb4
+	0x73228ecf	0x016c6e08	0x9bf91825	0xa13662f4
+	0x86a759da	0x0cb6d6b7	0x43d67df0	0x2badff1c
+	0xd1769bfa	0x0f5aefd4	0xbe2e49b0	0xa6e91ea4
+	0x046c73fd	0x38b33892	0x37a3ab24	0x30225f43
+	0xb4e9d784	0x0b8d3c79	0x83411221	0x0080586f
+	0x0383f4d7	0xb4733a71	0x4609dc6f	0x149e2be3
+	0x16be8f2a	0x6155a89e	0xdb42ebbc	0x4790004d
+	0x0b84706e	0x24d8e7a7	0x7434cf91	0x4aa01729
+	0xb285bf41	0x894256a9	0xc346c2ca	0xcf83c38d
+	0xd7a9df68	0x61e95cf5	0x05458abb	0x2468d516
+	0x6cfc6f97	0x06792edb	0x0faec9e3	0xcece2cd5
+	0xfcc300d4	0x93b52c8b	0xf9f81fa4	0x8a9d62d0
+	0x94715de5	0xcc4f5ae0	0x724c65ed	0xbc9d2513
+	0x3ff58f0e	0x2571d254	0x1b2f8fb2	0x593ff054
+	0x1542e7fa	0x5e2b8733	0x135f62d2	0xe5b8f1de
+	0xee3852fb	0x9e1bb2ff	0xcfe6ef95	0x85e3d35e
+	0x5fc2f0e4	0x1e391bc0	0x0c282cc5	0xc14e84a3
+	0x4a566eaf	0xac04ab06	0x15e9bb8c	0x74a82932
+	0x615af08f	0x92ca2937	0xa04182e1	0x8964f936
+	0x9c00cfec	0xf8ee661e	0x60c0bfe4	0x9d1c2a39
+	0x164f0f50	0xc1cde961	0x1ec2dbab	0x441312dc
+	0xff8f746b	0x4fd8e2f4	0x7d41bec2	0x610c39b8
+	0xe54eb811	0xed6eb997	0x6aef9b63	0x2ca1fa79
+	0x6a0741bd	0x9b323ed4	0xa9e51346	0x4c7c19dd
+	0x980117a9	0xba0a00c4	0x501e433f	0x3010f10c
+	0xd7cf710d	0xf03ab992	0xa9df2b11	0x2939a708
+	0x90182f87	0x2f5c228a	0x7982d287	0x4cc9aa36
+	0x4db0ac5f	0x2d5eb58f	0x78029b74	0x9e592313
+	0xac57236e	0xf5d3ba18	0x1310184a	0x0291a22f
+	0xa2bcae47	0xd4aafc4d	0x50f97087	0x9f428c85
+	0xe8b1d16b	0xbcf3cc24	0x2febcdef	0x8baaf25d
+	0x4839894d	0x713618c7	0xc6b4119c	0xa72804f7
+	0xf9ed3930	0x947ab473	0x52ba8d8b	0x9d3ef240
+	0x928262f3	0xde8a2e3e	0x0dd1a3bb	0x124cb146
+	0xbff6b771	0x8768185f	0x9dcfc72f	0xec46ce1f
+	0x55eb08e9	0xee110630	0x4f1abbdf	0x790d96fc
+	0x0edeee84	0xf4effcfe	0xf171d08d	0xf0ea076d
+	0xcfc6bcbc	0x2df2d7a3	0xba1a967b	0x1cea509a
+	0x1594c0cc	0x08339c8f	0x8633f7ad	0xcffdc9c1
+	0xb620cf8d	0x3807a89f	0x6b992761	0x222d9a95
+	0x900f8f87	0x0f085c6c	0x5ce2975f	0xfc2d28e0
+	0x1f1e2d6b	0xd2af1514	0xa3cc5dfd	0x301cca91
+	0xb02b1b87	0x070126f0	0xa18820db	0xaeec06dc
+	0x7f12ad58	0x79c8c8ba	0x173b231a	0xd52de2f0
+	0xdb67eb9e	0xd50fd00c	0x1767d59c	0xe83c1fb0
+	0x3d079a0a	0x34aad1b7	0x8e410684	0xd17f51a4
+	0xadadb74a	0xcc20b073	0xce1fc8e2	0xf9faa5e7
+	0xf7b96bfe	0xf1dc7007	0xf2a5df74	0x3036f630
+	0x0fddcd9b	0xd3292ad3	0x2e565365	0xa0bdfdc8
+	0xcea1dfaa	0xb161265e	0x28e1b5e4	0x6b718da8
+	0xab2fd7cd	0x06cf49cc	0x00db7d65	0x6bb855c2
+	0x6c58fb02	0xc34b1948	0xbbb039a9	0x7df185a1
+	0x323d797f	0x1f21b9d4	0xf63332de	0x03d84887
+	0x8dacb69f	0xb33e6158	0xf378a088	0xcdf7408d
+	0x9d54f759	0xc94c5d13	0xdf657953	0x77f8dc3f
+	0x432fb39d	0xedef8db3	0xd8443326	0xa06eab9b
+	0x77029612	0xcd729e14	0x3d1b4677	0x07c424af
+	0xf599ada6	0xb0eb8eee	0xd775afea	0x3013ddbf
+	0xe9d06eef	0x09600082	0xe8cd4c2a	0xd3ff4417
+	0xfe29cad1	0x2173b541	0x33585437	0x769344c8
+	0x02de5ca2	0xf5206b44	0xf3e34d41	0x6deba140
+	0xa79632c6	0xc9ba3a50	0xb3515fa1	0x9eee380c
+	0x4ad5290c	0xcb4739c3	0x71da64eb	0xfb559aef
+	0xa3091f65	0xfdef610a	0xce5412ec	0xcf498deb
+	0x26e1c1b3	0x2a8fb23c	0x0695459d	0x5a4c277a
+	0xdd483fbb	0x1a78ddd3	0x24c0c414	0xaa24b351
+	0x20c848cf	0x94dd1387	0x0fb0016d	0x9e1b83a4
+	0xafe2c58d	0x596d1cc6	0x42376363	0xa6b0a5ac
+	0xa6c30abd	0x067d634f	0xf921e454	0x1e86e083
+	0xb5986bd4	0x3e4e7b76	0xe02427d9	0xf39df942
+	0x77f82cee	0xd7cad721	0xf884ea2f	0x0247e300
+	0x4dcfd3ec	0xcd3595ab	0xca789c58	0xfd6f4b59
+	0xf39a1fb9	0x60d80d9c	0x67dc447d	0xd061e922
+	0x5c4ddc32	0xd87a0e11	0xec53091b	0x88f73838
+	0x4a30fbf4	0x77ddf719	0xec903563	0x1103cc06
+	0x38d36baa	0x6e7822ae	0x7e238d27	0x9f10f184
+	0xdc571ae9	0xbfe5a7be	0x60796471	0xe7193642
+	0x8f4932fb	0x3288ea54	0x880b61bc	0x6f5adeba
+	0x88078ffc	0xf53a7321	0xda5f397b	0x797d53cb
+	0x170023b2	0x2ae674b8	0x41ed6927	0xfc416bac
+	0x9517d112	0x8131bc8b	0x9207340f	0x0860f495
+	0x5ee42625	0x21abd2f4	0x730cc2bf	0xb705d5a7
+	0xb0ceef46	0xa9e1580f	0x04379973	0xbc2de3f3
+	0xbbf47518	0x8135e690	0x7dcaa849	0x2d284fcc
+	0xdb956dc3	0xa01dcee4	0x204879a0	0x25d4ec0a
+	0xab883c9b	0xf4c98ae4	0xd6ff96c8	0x1c44bb4e
+	0xefc0ce75	0xa018f744	0xf3b708b1	0x5219e162
+	0x03c478dc	0x56de45d4	0xd16b9680	0xf3809c02
+	0x3078072b	0xd1b792b0	0x1dc53f6c	0xf39f77ee
+	0x74db19ab	0x2d9772bf	0x1d117036	0x8439e76e
+	0x15550137	0x9378cce1	0xa3007b8d	0x44246b55
+	0xe27a583c	0x93fbb9d2	0x14b875ab	0x58ba4172
+	0xf70336a2	0x1a193fa6	0x6edd7c7a	0xf9d7abad
+	0xce49c41f	0xd59e4f0a	0x87c209a9	0x6c531d65
+	0x5e8b2912	0x4985e164	0xaa30d916	0x04c7a98a
+	0x92ec0a16	0xc81e0c8c	0xaa7fbc60	0x73c9997e
+	0x1080f5ff	0x05824cca	0xa465ca7a	0x4e7aec8e
+	0x5e230d7f	0xbd80153f	0x2f9fc7a6	0xfdc2e4c6
+	0x8447f46f	0x2b98b918	0x934e2131	0x89e96a33
+	0xaafe33c9	0xe821a560	0x3a7c81b7	0x3905eae1
+	0xec902015	0x8b70db58	0xc6e5cfd2	0xfffeeb18
+	0x4b79d360	0xb7d2a21d	0xa6742dd5	0xc38a9ac5
+	0xe4f33f88	0xf7864b38	0xb937ed2b	0x286ea756
+	0xc7b977e8	0x117abf40	0xc52e4e8b	0xd8423c60
+	0x4edaf3de	0xca387d75	0xb9fbe5f7	0xda6f9543
+	0x29684231	0xfdde17b2	0x55d9da3c	0x047472cd
+	0x48aa5670	0xd0fc555c	0xb694d68a	0x225d0c82
+	0x65da3f2a	0xa8da5a72	0xba791eb0	0xf6dda6d0
+	0x6f408fba	0x0f3e53c4	0x42dfdd18	0x83afd9ec
+	0xc0c28641	0xe9aceda4	0x9a57bb91	0x509ae5bc
+	0xfab6364d	0xa965bb80	0xed52b4ce	0xa9637114
+	0x1ba06d2d	0xe2a071a7	0x4f8005f7	0xc01078e5
+	0x6c8c1b40	0x0d785131	0xf89f318a	0x7a859d66
+	0xa54c61ba	0xa1ac3829	0x5846abc4	0xa4bbee21
+	0xc150c513	0xc43e56b0	0x2b9b6c2e	0xbd23ac4b
+	0xd5bb877a	0x26aab6e9	0x3175a360	0xa417779e
+	0xceda5542	0xd6ac1111	0x3631f049	0x822d6fd7
+	0x456b5441	0x14815178	0xf26c6347	0xcb2f0ac9
+	0x2876a89e	0x5d77052c	0x1dd9903e	0x1a243b17
+	0xd32ff417	0xf2ee16cd	0x29c1e28a	0xab23c5a1
+	0x7bf92552	0xb3ff18d6	0x7218138a	0xfc4c7fb0
+	0x8b431515	0xf42dc92e	0x39c27b33	0x5439b8c4
+	0xa044cf7a	0x1904dafc	0x8334b7b5	0x5285f6b1
+	0x64cec961	0x90bca178	0xe3108fb7	0xa0f64d12
+	0xf1bb4b0e	0xff22ca3d	0x455af526	0x45398675
+	0xac6db8a4	0xdd6b3cdd	0xd93e0ade	0x6407f4cb
+	0xe1434f7a	0x5048390b	0x9ecb584c	0xbaabceb3
+	0x592859c7	0x0b6dbd23	0xf5579ec8	0xfd372708
+	0x8d306020	0xafda0c88	0xe93bbcf9	0xeb0f3a50
+	0x8a0e1c30	0xfb926ba9	0xf628b5f4	0xbbef7f64
+	0x59bee520	0x8c95cf83	0xa9ff6a92	0xe8d43591
+	0xca0252b7	0x44311a65	0xa90c0287	0xd6769de5
+	0x647a9d7d	0xb3430eee	0xfc295b9d	0xfaa99965
+	0xfbc57eaf	0xcd1e38dd	0x4173522c	0x815845c3
+	0x2146414c	0x5d5c5b01	0x8a309fe7	0x6aa610e5
+	0xd102780f	0x89e6e565	0xbdac3838	0x32626179
+	0xa2a55556	0xca7a20a0	0x9e746a00	0x02726584
+	0x804f9c1c	0xa1edaa0a	0xe2a2ee7c	0xd1c5657b
+	0xea483c23	0xc6642eae	0x0a85bd37	0xf1f3be44
+	0xf82905bc	0xe412fc3f	0xf6bf0714	0xf91a7e1f
+	0x661f92e0	0x7283395f	0xf014d2a6	0x499044df
+	0xefdc70b2	0xb0f4e6af	0x75ef5398	0x08ecefe1
+	0x8be7f455	0x29b91faa	0xcd1622ee	0x3b4c3bf9
+	0xba7b11c5	0x0e4e91ad	0x29af310a	0x774115fc
+	0x7e6f4914	0x4ba6c995	0x211268e1	0x03b24064
+	0x558cc226	0x40d503c0	0x2af0591e	0x99792856
+	0xc5b667cf	0xd1e2cf31	0xdce9955a	0x061782c1
+	0x82b31a76	0x67bb7082	0xecab8414	0x0b20cf81
+	0xb8a21305	0x2bc2c62e	0xfb6a7ebb	0x598d2036
+	0x9f7f9f79	0xad9d6b51	0xa30bfc49	0xfec190dd
+	0x17fe7e3e	0xd020fbae	0x52ec37c5	0x6d9dfd4f
+	0xb4d1cf48	0x4d91b929	0x1b3e4116	0x81e109c2
+	0xe13316aa	0x8b49b605	0xd5c036d5	0x4feae27e
+	0x452760a0	0x308d5266	0x5af8ac2e	0x519bdab9
+	0xe2c88a12	0xbfe6a961	0x6e54bc3f	0x8143030f
+	0x5d47796a	0xe91fa496	0xd80e7e62	0xc5274d87
+	0xf0f7414f	0xd8a592cc	0x41fbae5c	0xdf848359
+	0x545f2e32	0x8650dbfd	0x116de333	0x5a013231
+	0xa9c16828	0xc103b508	0xc2230535	0x7167b332
+	0x7c0c8804	0x0a4f7a6f	0x3ef1104a	0xfa3401d3
+	0x042ba25c	0x05716cbb	0x88954de8	0x769902f8
+	0x93f8369f	0xdce3dc03	0x0f5bd13b	0x3417fbb1
+	0xe311cf44	0x8b6d116e	0x8a940805	0x53023454
+	0x2b608182	0x67424c31	0x9528932e	0xb4b69459
+	0x75308580	0x0d3097fa	0x4381d82b	0x75d297bf
+	0xda6c7f10	0x6adca79a	0xdd174f45	0x6e237e9a
+	0x5f17578d	0xea2869b6	0xd4ef7d60	0xdcf1e34f
+	0x39c0984e	0xca3cbf68	0x2b846994	0xf3c04152
+	0x58ad6900	0xa27a0473	0xa86814e1	0xb504c81d
+	0x0a263d9c	0xa21f5bfc	0x3634f89c	0xf2698fcf
+	0x0f10789f	0x580923ee	0xdd27aafd	0x49334c8f
+	0x6fc30ea1	0x535b6eec	0x103d548e	0x57681176
+	0x17152c46	0xf67cce7b	0xc6f1f215	0x763ec7d2
+	0x66f46032	0x9c7749b9	0x6ba3832a	0x24d788bc
+	0xcbe6ac21	0x1cc634fa	0x06b8d601	0x68b1c34d
+	0xef7a7f38	0x92c02580	0xfd5be079	0x67ec014a
+	0xda6a5b4c	0x9c884cf2	0x2e0cd606	0x1cb05866
+	0xf333f9be	0xd5585da9	0xedcecefa	0xb0224027
+	0xb2511fcf	0xab2440e6	0x77414c23	0xdc9263a6
+	0x25926b77	0x6083751b	0x825d995a	0x10ce9058
+	0xd91e2b6d	0x76126062	0x5f28b9fe	0x8df86405
+	0xb6e5bb6f	0x8eceac86	0xd08d074e	0xff4ed3d4
+	0x5fa5cf88	0x53c405b4	0xc60e7599	0xc07ef3e0
+	0x4435a7a4	0x28c490fa	0x9140004b	0xdb19895c
+	0x25d05b82	0x53d58535	0x8a2d6446	0x3e87d549
+	0xd961b6fd	0x76f8b718	0x6f0fd68e	0x86a7da31
+	0x4fcac697	0xcb4385aa	0xceca1471	0xc9ea76e9
+	0x18a36661	0x8da1db39	0x02bdd85a	0x56b5f9a5
+	0x39bdf861	0x206004b2	0x7a780b2e	0x9512fc70
+	0x8e128f45	0x964b5d31	0xc60ad183	0x763695fb
+	0x7addd1a6	0x8efae2e7	0x57b23dfd	0x91cdfc82
+	0x203aae3c	0xca53b1ca	0x05388d1c	0x3d5715bc
+	0xba33759d	0x2d3470b5	0x3b36c53c	0xe38fb71f
+	0x4c37e926	0xcba524c6	0x00d65da4	0x9d0dcb37
+	0x3a291c08	0x81ee1ef2	0xce1ecb25	0x6e34393f
+	0x4c7f9478	0x7bfa3437	0x3cf9d845	0x900979e0
+	0x1ae6a7c3	0xd5b64d84	0x467a16e6	0x489a3fee
+	0x73f7a7b3	0x29d2d941	0xbbb6cf3c	0x7478de98
+	0xa4618be0	0xecd3bf7b	0x9ec7a549	0xd762012a
+	0xbfc200db	0x172876e7	0xe3686578	0x74a03861
+	0x499dd970	0xb3600340	0x17a21676	0xe4f76eca
+	0x413c2938	0xa21b445b	0x30e36091	0x095c523a
+	0xf30af4b4	0x236740c6	0xb6a50c97	0xc285f888
+	0x5c45b9f2	0x6d2e28a5	0x561afb4e	0x112576fb
+	0x7740b38e	0xfe3789e5	0x5099bd10	0x8e565b15
+	0x463baaaa	0x8b712085	0x99fbb7fd	0x8b415a46
+	0x517c8de4	0xfcc385fc	0xac9fd9b4	0xdb29a377
+	0x3494419f	0x825386fc	0x6eeaa91d	0x2f48dbba
+	0x4615049f	0x90530f6b	0xfd2ddf08	0x97ee1b44
+	0xeea55310	0x6802e808	0x116d9cd5	0x874699d5
+	0xb9ec222c	0xbbc6e9f1	0x339cda6c	0x32d2c15f
+	0x10f073fe	0x2c544e3c	0x518503a8	0x24b730a0
+	0xf252cc99	0x6518b218	0x771d5ff3	0x841cc2cb
+	0xd3870e5d	0x6b166d5b	0xef10e55a	0xc873d615
+	0x5531c97b	0x6a10a199	0x63158156	0x40740e69
+	0xed060c8d	0x37625a2e	0x939ccd42	0xd225f0c8
+	0x060be21a	0xab542cb2	0x564ebdad	0x6d0e949c
+	0xc162caa1	0x22560483	0x26ed1b27	0xc8fedf98
+	0xd7358719	0x7b219308	0x327139b1	0xfb660fd8
+	0xe2d4e408	0xf9019405	0x38e6c024	0xe6ca02af
+	0xdaedb8e2	0xa81c4fec	0xa163e63a	0x9469e3e3
+	0x8bd652d8	0xd9692460	0x61671766	0x566dd7d7
+	0xd4ea8885	0x9f7c006f	0x963a23f9	0xc2a2abc8
+	0xe3f08b74	0x3411628d	0x0d5d26ea	0x368aebf4
+	0xeb8dcadb	0x3573f8aa	0xd23cd73b	0xa9b3c7d5
+	0x3119a47e	0xa5354659	0x7e375817	0xc7b36bf5
+	0x70c7ba81	0xda84798c	0xecf9aae1	0x52423bc0
+	0xb848058f	0x5dfbc1fe	0x4bd58fc6	0x38dffde2
+	0x8f41473b	0x8f2e8d22	0x5ba888ce	0xe7496da4
+	0x46ec5aa5	0xbb8cf063	0x9effa0b6	0xa487f166
+	0x1ceb3e26	0x468aac4b	0xe006c9c2	0x97b79086
+	0x1e53d58e	0x4ef59d4b	0x4ecfbb2c	0xb6ecbec0
+	0xc82338ae	0x7db1ab21	0x24d1e3e5	0x04c19de5
+	0x376f474b	0x6369bdaa	0xd3220ffd	0xc05ee6a8
+	0x24c3a90b	0x34a6c61a	0x811ce30e	0x4dfe9d6e
+	0x12a85352	0x38014645	0x1c07851e	0xe9beb298
+	0x0ed63abf	0xd5b40ba9	0x7f83d8e7	0x7a53ae4a
+	0x7360dd8f	0x1be62e35	0x5511f901	0xfbb6afc2
+	0xf788d81b	0xecfb7225	0xacb286fc	0x148e9a49
+	0xac3ff738	0xa3f93f2e	0x47f89037	0xc3226d1c
+	0x9d349976	0xcd757aa8	0x2eec4d43	0xdd7e7c19
+	0xbe13b149	0x60b4013d	0x988966e5	0xa41bd486
+	0x2a364043	0xb7a77403	0x60188f16	0xd5a13b2d
+	0xebf92c64	0x8e82daa8	0xa302aa28	0x33bac63b
+	0xbeb1e4bd	0x27bd0430	0xbd8d35ce	0xd14a8967
+	0xa7016b70	0x8a6722c3	0x6ff26f0e	0xfa50fc75
+	0x59e52041	0x339151c0	0x9c4a41ab	0x9edb4197
+	0x08eb539c	0xc13c7254	0x7fcd3f75	0xb3ac16f7
+	0x1b15d8cd	0x0505c2f1	0x076a2636	0x1d3bdeeb
+	0x798f8347	0x70e1fe1f	0xfa8c3373	0x1d26dda4
+	0x8911d6eb	0xc7278a2b	0x7208b02b	0x028e3adc
+	0x18f8ab78	0x68377e63	0xd61901af	0x2c2e46b8
+	0x32b7e434	0x63cdafd4	0x78e918d1	0x0b674143
+	0x8293d0c5	0x0ea5da68	0x4984eefe	0x9b67e25c
+	0xf4aa5f43	0x877688e8	0x2d1c032a	0x55548305
+	0x64ef45d5	0xf73d1301	0x2418537b	0x60c08c65
+	0x24329668	0xc4ef5f1d	0xdfa2aafa	0x8958d85c
+	0x9d5924c6	0xfc1c041c	0xf507ea2c	0xf922715d
+	0x3e895a74	0x1689f90d	0x59da19ec	0xff295078
+	0x423557cd	0x5902762b	0x7e11ad6e	0x52b10c3b
+	0xb5d68631	0xe0278437	0xf9b57e12	0xaf124829
+	0x7e9a1960	0x5f3585f9	0x54dc91e9	0x6d421667
+	0xbecf1cd8	0x00077b85	0x56c0b10f	0xefe280bc
+	0xaf20574c	0xfdee86e1	0xf6404d91	0x90bf47af
+	0xd916e601	0xfb81954f	0xc095cb29	0xf5bec4a5
+	0xfcef97bf	0xb07e37ee	0x82b6b56d	0x04ea42db
+	0x60abe29d	0x8222eab3	0xfbbb230b	0x73d93c02
+	0x40da8a92	0x524ff943	0x78bf83d4	0xe1c37afd
+	0xa35155c2	0x48329b3e	0xc762a668	0x68b6aa7d
+	0x41b5876c	0xbf8a8e45	0x3e1a53b1	0x76e546ab
+	0x79abb608	0x4c0501a0	0x18206179	0x61ef55f3
+	0x8fa514c8	0xbee9cc2c	0xde6def99	0xdd666c88
+	0x0b0a5c54	0x2857ceb5	0xceed57a8	0x62d86d3a
+	0x1bea74c3	0xf35942a6	0x684295f2	0x561a041e
+	0xf305e199	0xcf0c0f81	0xf9ea7e7a	0x3484577b
+	0xb3ee4a37	0x02b7863d	0x9cea59bb	0x847f5fcb
+	0x3903c152	0x05482a5b	0x9ad5099f	0x28dea11b
+	0x47e3968a	0xf6080cea	0x1a63a706	0x8100411c
+	0x0227c6f2	0x52e5a652	0x91e7ac8b	0x989b3811
+	0xe10a5c8c	0x65eac802	0xbebb07db	0x823f8119
+	0x1f25f0ef	0x47e69451	0x9a6794f5	0x9b9fab61
+	0x4244a127	0x556c18e5	0xa94651d0	0xbe8a0554
+	0xedbc5f9c	0x6e8fa53d	0xebe3d4d2	0x91d3194a
+	0x1ab227de	0xcce6da7c	0x300e6080	0x9c8fee09
+	0x21baa932	0x2c807700	0x422d0f10	0x2b318ab9
+	0x45f759c5	0x5f7a961b	0x7e3e7554	0x52651209
+	0x1e3e9181	0x7c583d7b	0x74bc7215	0x397bbca3
+	0xc969c761	0x89692bbb	0xffe3e02c	0xb3cbaf98
+	0xeb9f4218	0x97269337	0x201b4633	0x47bbf0ab
+	0x954f00f0	0xe50597d8	0xfa30bd0e	0x34f97b08
+	0xe70230b8	0x5175d237	0xf6f05156	0xc6ef5b9a
+	0x5d34628f	0x96ae0d57	0xc4a1c34e	0x2883f6b3
+	0x813ae49e	0xb7afbea1	0xb369902c	0x236fcaab
+	0x9bd3e129	0x1167510b	0x935bde08	0x74782cce
+	0x76c4d54c	0x67324fe8	0x20fdf163	0x30edb4ec
+	0x3baf38e0	0x3338e653	0x632f3e83	0x53754073
+	0x87587c1e	0x505229c8	0xd84db10d	0xa011f5de
+	0x89a24ace	0x0ede0052	0x24cb60ce	0xed01cd5f
+	0x1a5dc2a4	0x40a1c78f	0x08c394c9	0x94e53eb7
+	0xc36d5906	0x9c0411c6	0xa47e0212	0xb8a09053
+	0x789bbd30	0x185e99df	0x4e7f5e66	0xea395698
+	0x5b9185a3	0xb12ef72a	0x3bf786da	0xfcfc87e1
+	0x706f7e71	0x1defdb8f	0x6209ff4f	0x0fcf979c
+	0x368d78c3	0x7325607c	0x09cd4106	0xb2b5eacd
+	0xd91e2de6	0x3b208bcd	0x763aaea6	0xd2e67e50
+	0xb42c3b86	0x68442e72	0x607c9e3d	0xe50c8c69
+	0x9b04293b	0xd06db29e	0xd709d11e	0x4d87a088
+	0xf9d5a59c	0x90e387b6	0x1d6d00af	0x959e019a
+	0x3fbab7c2	0xbc2d59a3	0x22b7b925	0x5cc6bf71
+	0x7f4e1225	0x65f80dc5	0x92d6299c	0x464ece21
+	0xf107bdf3	0x93e265bd	0x596b14bb	0xc3ceeef7
+	0x4a821410	0x712ab8b3	0x976e8cd6	0x4ea91f29
+	0x72ce3351	0x4d18420c	0x186fe8f8	0xe1729dd8
+	0xe5ba8e5c	0x565b6c62	0x38727f8a	0x5eb3ca68
+	0x82238397	0x6addab1f	0x10ab1bd9	0x55847072
+	0x2fdf1819	0x48452cc0	0xf52b3405	0x430d0d3c
+	0xde25205c	0xc928a846	0x8a49a600	0x2e0f347d
+	0x68dd5eeb	0xb668738c	0x921c4293	0x28d3220c
+	0xea3a76e8	0x8e56a305	0x6232fe74	0x4002c4b4
+	0x9452e5a7	0x4a7d0781	0x6208ec18	0x1f223625
+	0xe16ed578	0x14d4fdf8	0x04d47966	0xe96a08fd
+	0xd95cb585	0x576321a1	0x00a8c07a	0xf0626b43
+	0x68e468db	0xe7e333b7	0x5145a525	0xb4a393ac
+	0xa7d58ab1	0x57d8ab46	0xd3803314	0xd8fa8397
+	0x73f0b404	0x07af9046	0xd7adc0bd	0x3fa6678c
+	0xebb05a2b	0x577b2e2c	0x52792d07	0x24abf050
+	0xe1046a1a	0xda2cadbd	0x9493d8c2	0x4fb41ba7
+	0x26f3f8b3	0xbfd58a43	0x15f53d77	0x3957de3a
+	0xf055d7dd	0x1056a0c1	0xcac3f7a0	0xd2433645
+	0x518c6d33	0x49b3af19	0x5ec8f961	0xfcca0f3b
+	0x91f9ab7a	0xac41e597	0x8eb537e0	0xc8642907
+	0xe293232d	0x8853aa59	0x8ac14c3a	0xfd6d1609
+	0x7989ba9f	0xecec948a	0x89b9adfa	0x2c1a155f
+	0x717d44ca	0x3b0b4808	0x679e6079	0x7f509dff
+	0xf46b7089	0xb9b93a45	0x973cda23	0xcb5aeecc
+	0x8bfcfcce	0xb3a0326f	0xd72feb16	0x1aa69d84
+	0xd63a720c	0x17917f37	0x6ce5305e	0x1d4be016
+	0xcd461cb6	0xdeb337c2	0x93f3aad9	0xb4392d5f
+	0x3794070d	0xf66b315f	0x773ebbe7	0xb49bca0e
+	0x6399ff52	0x666923d2	0x7da14294	0x62735522
+	0x607a3e72	0x74cfdf97	0x5120de20	0x87efd2a5
+	0x42ace644	0xe6bbe848	0x3c913024	0xcbe9c195
+	0x4cbfab2f	0x283d55c9	0x4124679e	0x9104dd52
+	0x402353b2	0x1d2934c2	0xd078f360	0x1e612c3d
+	0x55d7560b	0xc6fa6c69	0x8f3d701a	0xfe8d0621
+	0xf728b0ad	0x621bc481	0x767c00b2	0x20bd9a33
+	0x43153fb8	0x1dbaf9e9	0x9aacfe31	0x0c13b370
+	0x5207070f	0xcbe94b63	0x16107ec2	0x5948fc06
+	0xac484ba9	0x005295c4	0xdbc6c45d	0x0d0b938d
+	0x2ca516ed	0x0b0affd1	0x100d782d	0x6b13fe4b
+	0xdcf4adf6	0xed2d24f7	0x2528f40a	0xae52c51e
+	0xb4548c92	0x048c762f	0xf4be834d	0x36453c04
+	0x9d2ea546	0x13b9ee9c	0x018a9896	0x0fa6031e
+	0xbef7a3b3	0x4abc8aa5	0x78244a79	0xf77d7b9d
+	0x5ab92df7	0x653ab84b	0xd40e8ad7	0xbfe0f037
+	0xb08c3f61	0x3511b9df	0x71f4ac45	0x18f8feba
+	0x14b6bcb6	0x9f7f0ff2	0x0fbd67d4	0x08662b13
+	0x663606a5	0xcc43f0bc	0x119aba1a	0x6f078180
+	0x2ee00979	0xf9dc663d	0xcfb6e229	0x59e6535a
+	0xb9041219	0x5096ef84	0x5a7058c1	0x80841a9d
+	0x923c2063	0xdce14c17	0x540f2785	0x5789b67b
+	0x370c8d98	0xd1e83ce8	0x936e3988	0xbce0476b
+	0x80d96d9c	0xb40fb347	0x7276d0ef	0x34e41df1
+	0x4dbefc05	0xc0a109ad	0xa8a76647	0x0b324453
+	0x82a88349	0xaa8619a0	0xc90adf91	0x6db31b49
+	0x20b8ea53	0x6971e930	0x5ab45e41	0xac318e8f
+	0xf8440d27	0x6e7b4f5f	0xd641f8cb	0xee4b486f
+	0x376e4d85	0x40f86be5	0xbcf3fd65	0x711296a5
+	0x171dc6de	0xd76bb94b	0x486488ee	0x29869fb1
+	0x0eedf832	0x088222c7	0x79db06c6	0x08093c31
+	0x78e6af7c	0x7e92a84c	0x5b7af1e8	0x9ed1082a
+	0xb2cf6495	0xfe566712	0x810f6623	0x06f5b7f0
+	0x57ef86a2	0xd3d0543e	0x7b272150	0xd4eb6f7f
+	0x802d6331	0x8566d10e	0x07e3e6fe	0x1447cf0e
+	0x60b3e885	0xf89a005b	0x37110b56	0x68ae7dbf
+	0x72f27442	0x3df57b64	0x2fbf6e25	0x7ee42060
+	0x1415c9a2	0xbdcc37ac	0xf31ae0c0	0x172e8e14
+	0x8b5d2cef	0x27fe63eb	0xa9219d96	0x429a6e0a
+	0xdc3f1f05	0xe19d1296	0x36da614d	0x0e9ec19d
+	0xc66d4ce1	0x291d49ca	0x83a3d92f	0x1d9b06bf
+	0x733aaab2	0xacf961e8	0x63e9a69f	0xa7a075e1
+	0x4e23b6f0	0x81cc07f0	0xde10c07e	0xd331c8b5
+	0xfbf18a1a	0xfc755121	0x886c628b	0x79fea666
+	0x7ce1bc5f	0xec5b3ce7	0xebd177cd	0x66400f87
+	0x764b1291	0x5ea94164	0xfc0a0fb7	0x0fa43dd2
+	0x49235d17	0x37926a51	0x8526a177	0x773fc730
+	0xa0f54815	0xed6f01a4	0x5bb24014	0x8539b71c
+	0x132fd915	0x5f000b68	0xc06aff07	0xc8277dc5
+	0x2ddbbbca	0x3ba503ac	0x63b3052e	0x30b5342a
+	0x2af7a786	0x09da5bd6	0xe4bec048	0x133d461a
+	0x795f4916	0x419808e7	0x26261e73	0x56e041cf
+	0x4dabd60e	0x1831430b	0x2e98bb48	0xfd18b5b1
+	0x29b89cdd	0x5970a40d	0x6345a28c	0x12843c53
+	0x2313d471	0xbf22181a	0xeed3b409	0x2b998b70
+	0x6734d4e9	0x4a99f823	0xd29ee17c	0x2bd55ce0
+	0x815732a1	0xdebf0e7d	0xee592700	0x2b0e5cdd
+	0x6d1165f2	0xdd1cb298	0x21d59792	0x29ed1d86
+	0x838769d2	0x9e571c56	0x488df973	0xcdda2fd9
+	0xc2aa23fe	0xec54f33d	0x4071d93d	0xd436a884
+	0xfbacc598	0xec188594	0x2d58f807	0xd77c2f9f
+	0x4cc2ecdc	0x38b99efb	0x9ad5c2cd	0xcf93ac82
+	0x19fd53b4	0xc61c4afd	0x9019c128	0xe642476d
+	0x12975e1b	0x70406aed	0x0bba3c07	0x94944b64
+	0xf26214c7	0xa8504bd9	0x0e5dd9d7	0x0f0e705c
+	0xe1d40427	0xcf6ca05b	0xfad2e372	0xb635f645
+	0xf048ea3b	0x1a39e8cf	0x386a19d2	0x4b495c31
+	0x10ac1cc0	0xc3b65767	0xf36cf20e	0x5ad6c70f
+	0x83512822	0xfc78a6d6	0x63f73285	0xbbc3ebdb
+	0x9fe2c227	0x7b1bae2f	0xae794110	0xe438ab6a
+	0x368b06a3	0x5d98b357	0xaea10310	0x51de113e
+	0xa19bf885	0xa46d4603	0x16a6cd3a	0x87d0cb12
+	0x0b319013	0xed4495c9	0x8710f555	0xe051c6d1
+	0x6c0d2f47	0x1a09af9b	0xbc5da303	0xb3c33c15
+	0xb5ab2df0	0x7b1a02ef	0x0b7558f8	0x99faea0b
+	0x2694715b	0x1e418212	0x28163f30	0x9f842906
+	0x9ee82eb6	0xdf04c95a	0xf7f3e610	0x873f8210
+	0xe514e5b1	0x65426e17	0x1bb7426e	0xfbab6b85
+	0xa08ae8b3	0x854ca95a	0xd0d2d6ff	0x63225f99
+	0xb961fad2	0x2b4cfa45	0x51dda947	0x67405e3e
+	0x9617808f	0x4b49c09b	0x5ead3eb3	0x465177b4
+	0xabea9a4e	0x1e4272b6	0x8e0e4d16	0xfe2174d9
+	0xa604e462	0x02bae16c	0x214aaa79	0x55588fd7
+	0xa06c6534	0x52174dd8	0x1ffde727	0xb5cb4ff3
+	0x58e8e401	0x874ba1fc	0x09f52e68	0xe2ab8893
+	0x49943632	0xbe02e3ed	0xdade2e8b	0xa5da9671
+	0x31f393d2	0xfb4f4e01	0x10c03e2e	0x94fac702
+	0xccdd9c33	0xd51373c5	0x32f67c97	0xf75f6dc5
+	0xf7c56120	0x429a4417	0xee3533ff	0x6395711b
+	0x84c30f8a	0x87e400c9	0xdb34cbb8	0x554373dd
+	0x89c3032d	0xb54a2095	0xbf8ca76f	0x32b9528f
+	0x45a716a0	0xdabd57bc	0x0b5a9419	0x0607f8e7
+	0x97bd8515	0x34fcfa92	0x89914683	0x596ce15d
+	0xa0d16b41	0x0475dcba	0x530d9b55	0xb2f6980d
+	0xeeb49560	0x9ff9f979	0xffb3b3f2	0xf8dc90c2
+	0x7df7ec78	0x663f667a	0xda25d7f1	0x4e5e1a1f
+	0xb8017f9e	0xaaab7404	0x0fbc96a3	0x2e6883da
+	0x70b4ef71	0xe68fd886	0xbf9813e5	0xfbea41ec
+	0x0e9c7205	0x4f4324b3	0xe9f241c0	0x59848c26
+	0xa6c883b0	0x6fed019d	0x3bea1228	0xd636e300
+	0x6950359e	0xcf52052c	0x1b528057	0x06fe6742
+	0x04965c8d	0x9a7b26c5	0xc99230d8	0xb579c7aa
+	0xe24a7255	0xe814e07a	0x76f58992	0xbad495de
+	0x55700746	0xfaf4da35	0xb5536992	0x1008288a
+	0xd867fd0b	0xb1c9720c	0x047d6414	0x561bdcc4
+	0x74e334f1	0xb66a42e7	0xc08e03a2	0x859a375c
+	0x2d6c3b8b	0x0aa6b45f	0xc97b7c6b	0x5765735c
+	0x5367cf95	0xd957151b	0xb6354238	0x7c9dbd21
+	0x97fbcb95	0x110361bb	0x2394edad	0xbf8e18b3
+	0x2d4d9bd2	0x24b42b08	0xace76b11	0x2b8fb939
+	0x04105821	0x79af703d	0x434c240e	0x2a019bf0
+	0x02a38fc2	0x9c640e05	0xdde8995a	0x3b8c0b1d
+	0xb44190f0	0x3c84367d	0xdbb9bb01	0x27c42ea7
+	0x87f24ef1	0xc9abb097	0xe4df5c7b	0x45e04755
+	0xe29ab2aa	0x29be8522	0x4efa4f5f	0x2b4522d2
+	0x67f465fd	0x4171364a	0xd2bed8f0	0x477e8b5c
+	0x982c0339	0x48fcc0aa	0x06206cf1	0x4c132f24
+	0xc2a78b32	0x18a3806e	0x84551ba3	0xbc8dab25
+	0x3cea4ede	0xbe3cb62f	0x7be253ed	0x828e2dca
+	0xae76b847	0xc018fe6f	0x09e3d2ab	0xfd775e4c
+	0x80f2595b	0x1a1d440b	0xc48f9889	0x52d1cadb
+	0x99fd2c1a	0x3d700d86	0x079d1761	0x6811c4eb
+	0xcc2f677b	0xe5422423	0x11a606e9	0x3fd6ea3d
+	0xf9ae700e	0x09aca633	0xa7097790	0x5db8d41b
+	0x34941e1b	0x3fc50d4c	0x2fd2cf3d	0xa60aa40a
+	0xed6381c1	0xb192e754	0x3248af41	0xe0cc843e
+	0xef3c9504	0x3712da7c	0x9fffb613	0xdef40782
+	0x86f9bd62	0xbd8a3260	0xf6dcbb87	0xf9a264e7
+	0x3bb46aee	0x6f92d88e	0x6b0861e4	0x5ab7d4cb
+	0x2f1cf740	0x8213ac78	0xa34f0812	0x4d7db7bb
+	0x20d1abcc	0x9c519247	0xbc708c1a	0x66871981
+	0xc436271e	0x88247723	0x2996c404	0xca9c48f6
+	0xdcea7c3d	0xf6cdd451	0xbab6a23f	0xf064060b
+	0x3c0d3775	0x3a7ccc2d	0x5d056c98	0xa6521199
+	0x7f3b8753	0x3ca8407a	0x3097264f	0x60c75837
+	0x96e43535	0x5d17c5bd	0x89bb2825	0xd35fac11
+	0x1c323feb	0xe8fd05e7	0xcad8184e	0x23456746
+	0x6e4f1d7d	0xfbfada38	0x20faac8d	0xdcedab37
+	0xf094bd0c	0x7d4e750c	0xbd7ef698	0x0125c05a
+	0x17d840cc	0xf44bd1bc	0x236e7f10	0xdd53c6ac
+	0xb0bc6a1e	0x019b1a51	0xfd99d0b1	0xb723b517
+	0x728e0e9f	0x4280e2d0	0x8da35086	0x2e3cb572
+	0x2a53e018	0x6f7a3e41	0x7afe2ee6	0xe4efc53a
+	0xe2ed04c6	0x67112c67	0xe7e43b4a	0x03f680d7
+	0xe3434120	0xe2c12215	0x63ff546e	0x4d87e2b7
+	0x6f95093f	0x7c7a5e18	0xef98c38b	0x8ccf2684
+	0xf4619327	0x148676c5	0x4be2254a	0xcda85631
+	0x00ae4a2c	0x2df961dc	0x85b6fd89	0x1512b1fb
+	0xc17a7547	0xbd062ec9	0x91229a47	0xf6d4b08c
+	0xf7d3c4f1	0x4d951e94	0x62c8a9e9	0xd7df6f2a
+	0xce34f11d	0xc04b655f	0xfcf369b9	0x40eb0ec3
+	0xf7b55c23	0x8edce54f	0xba8ce0db	0x2a5e5a92
+	0x3b243dcc	0xbcc8c5d0	0x906db8bd	0x6a0aee9f
+	0x9e6c3df4	0x16f2252d	0xd389126d	0x5118a5bc
+	0xa75cc327	0x559dde05	0x5bb43b00	0x7fbe942e
+	0xa24e752a	0xabbfe05c	0x916daec7	0x8817b357
+	0x5be9fbfb	0x6e8bc90d	0xcdf7cb49	0x0b28069a
+	0x1922e927	0x24713a66	0xb9c800e5	0x63968dee
+	0x34464be9	0x712fa6d8	0x9f9c814f	0xf6121f78
+	0x12863a08	0x349158d3	0x66556d8b	0x4938c818
+	0x69374151	0x55046a98	0x94c8e4f4	0x48430cff
+	0xb885cdc4	0x762fb5b6	0xee98caee	0x8e582d5c
+	0x808ba575	0x7878cbac	0x1d257ec1	0x85bb9f16
+	0x50adfb99	0x98e3f712	0x532b6bb5	0xd3aa0b14
+	0x07369ec9	0xc6f71890	0x1bb76ff9	0x0e91023e
+	0x7d6e119a	0xe8c5f447	0x49edf0c4	0x8d380eed
+	0x99984929	0xd37dd90b	0xfffb0a41	0x69eb9ab1
+	0x67b2585d	0xe3a5a664	0x7f9d9156	0x0454b9c2
+	0x4b5d28f2	0xfa6d0a33	0x3c9206a7	0x5aa2fb75
+	0x767201c8	0x7db04d90	0xc27e89a0	0x4df1cfb8
+	0x81efb5ad	0x2eeee02b	0x42d5ef5c	0x394fdbd2
+	0x0bcc3166	0x2f43982b	0x832520df	0xdb6fb558
+	0x63fccc0d	0xc42816d3	0x5cf66464	0x2b4b89e7
+	0x2d62dcb5	0x6c4f52fb	0x6c3ac264	0xc92c6977
+	0x1f6cc458	0xd639250c	0x4044e6b0	0xc39df4c4
+	0x65595b2b	0x1c9be044	0x5242d7f4	0xec710e0e
+	0xa991869f	0xacb3cd55	0x4e82d850	0xa7ddd47c
+	0x12c0cc9d	0x8ff166b2	0x89d6bb4a	0x136ef38b
+	0x3875e7df	0x8d59d30b	0x3d22b091	0xc64b065e
+	0x73077e1e	0xcdbbe7db	0x000e842c	0xd5147941
+	0x8fbcd501	0x6d731511	0x1a45fa09	0x1579e7bb
+	0x4dfa5ed6	0x192d360a	0xc36e445d	0x6df0bb79
+	0x9c60d757	0x99067a40	0x286e1450	0x21d95d9d
+	0xbffde5f4	0x5b6e43a1	0x61b62406	0x87e27b1d
+	0x12fbc7cb	0x52332046	0xe2ac85fa	0xe6dc1b49
+	0xb04e0d61	0xf9cd9aa9	0xe56424ff	0xc5b0b353
+	0x7b99dc04	0xf8bf97d2	0x3fc86848	0x396441ff
+	0x92c981c7	0x97a58a03	0x18862056	0xc9849658
+	0x683cec3b	0x3298b913	0x1d381d39	0xbe687457
+	0x1598e8c8	0xb4944287	0x59e42ebd	0xaf631121
+	0x81c6ed2b	0x811cd718	0x9d9ece91	0x6d26ed1c
+	0xca577a45	0xe87b71a4	0xf9d884ed	0x8c88c874
+	0x452020b4	0x9e6ac4b8	0xa99fb35c	0x3d0acc96
+	0x6d0220f5	0xcd4a9041	0x0f7b3489	0x4de2fca5
+	0xd91865bf	0x7ae85bea	0xd0ac675f	0x3643cfd2
+	0x9c9e938a	0xcc24771c	0x04a8d771	0x69ea870c
+	0x536c78b1	0x9c986d53	0x188133ed	0xc2449d1a
+	0x949dcfee	0x657b7cbb	0xbac748a6	0x5469c94f
+	0x58b00d1b	0x4a95f324	0x9e3d996a	0x7d61363b
+	0x95c3b5e5	0xe0c628e5	0x89ba2777	0x92530a59
+	0xa52ed8d8	0x96f64b04	0xd7a09900	0x2b7bdcec
+	0x31ddf392	0x796d19fd	0xdbaac550	0xc1b483dc
+	0x7003a526	0x260f55db	0x2065f6ad	0x97c38ccc
+	0x2a6b7ce5	0xec4e0018	0x990007bd	0x93e4d47f
+	0x04d2536e	0x4bfd17fd	0x173af016	0x26515f4e
+	0x9051893d	0x63333e26	0xe47971be	0xd909f5f9
+	0x2f5be247	0xfade7a04	0x121542b3	0xcd5f8f3b
+	0x416d8352	0xa66d58b6	0x5656d408	0x10ee1bf2
+	0x3c65b26a	0x31dbef80	0xb3badd4d	0x388342da
+	0xc430266f	0x53fa9fe3	0xfecd7bd3	0xac043f73
+	0xc94b4ee6	0x1dd26332	0x993b8b27	0x1d78261e
+	0xbd4a0564	0x170a57fb	0xaaa7be6c	0x9bbde43e
+	0x70d16f35	0x11525ae1	0x00b8c636	0x7088bf37
+	0xed6ea850	0xaa37bc1f	0xe08e79ea	0x7d4ed426
+	0x95f8916a	0xc2fdd49f	0x1fa1bc9a	0xb759624c
+	0xd7159d5d	0x65762aba	0x50c99a62	0x8879a995
+	0x496ad905	0xcf5447b3	0x230a9e21	0xb6d586ac
+	0xccfd911b	0xa4a58d33	0xbef8ff75	0x6381b0c3
+	0x62d0e4ad	0x2f0992a0	0x27d2e923	0xc9d67860
+	0x46f394b2	0x877ea324	0x6ed5c693	0x386dbfd3
+	0x5f5c1f7b	0x1a339481	0x1cd12853	0x4da6425d
+	0xe50aa540	0x2dd400e8	0xd7b37c5f	0x52046ed3
+	0xdb24073b	0xb28cbf56	0x67e62bdb	0x32f6e9bc
+	0x8f2f443b	0xacedd944	0xfa99423f	0x3ae8d636
+	0x613a42fb	0x1a410513	0x4469e127	0x2fdb4b5e
+	0xf86ed877	0x07637d77	0xbb197929	0xa8fa021b
+	0x9a9f4341	0x35e36444	0xc6728094	0x54c438fb
+	0x17b46ef7	0x152d988b	0x42c512fd	0xcc4f36dc
+	0x1ab4ed10	0xd367833b	0x1c08b3d9	0xb5d182e1
+	0x198f9d7a	0xd68ac623	0x964db9a6	0xd6c121f9
+	0xdb56e5d9	0x69e61f26	0x6b9fe5f6	0xc414f7ed
+	0x812a505a	0x7b73b945	0x08000c8a	0x8ed6ff2e
+	0x19b9394d	0xcce2bc3a	0x46d66935	0xf3e5468b
+	0xf345f275	0x5f9bf5c1	0x46ceb342	0x45149107
+	0xc02af675	0xbf3ca371	0x55237036	0x8ae2d3bd
+	0x19b01471	0xa77a83f0	0x6b003b46	0x29a22e11
+	0x89a94839	0xd0c249a3	0xdb36a03a	0xe38f4040
+	0x88f9c8b9	0xef50fad5	0xd69b106c	0x5f314dd3
+	0xde5e9f87	0x91c24944	0x49eee859	0x2aaeaa65
+	0xab45e53c	0xf3a0e4c0	0x200a36e5	0x77e484f5
+	0xcbf8952d	0x64d6ebfc	0x1f832895	0xd835590f
+	0x13f5a770	0x190849af	0x3068c161	0x61a78e84
+	0xd7567c5c	0x4a1ab2db	0x524ae318	0xd488b5be
+	0x1703785a	0x0a1889eb	0xd39c572a	0x4f99ba34
+	0x3015e101	0x99e6ff5d	0x13cee969	0x0d66997b
+	0x8e3dafe4	0x9c0507b7	0x28cebbab	0x2e6cf3d1
+	0xb24b11bc	0xe411de4c	0x64d5f845	0xb0b20f46
+	0xa49b7b52	0x9b65793d	0x8756f69d	0x0e0bfcd9
+	0x6631f0ee	0xfea0c152	0xc54d903a	0xe05159f1
+	0xb2cd54ac	0x039a6d29	0x81cd7e6b	0x58cd335c
+	0xf6e95cc4	0xa6a02bf1	0x62e10eb8	0x0b11d249
+	0x5b52a70a	0xff2eb36e	0x9ce7f597	0xfc4421c4
+	0xba74bbfa	0x4ba989b4	0xce7c369a	0x8c149a5f
+	0x063745c9	0x4a1dc1ba	0x3c798afe	0xa47ef113
+	0x54c6c987	0xa6623430	0xed26b37f	0x0ebac834
+	0x54cb0233	0x92995cf3	0x5412dbfb	0xaf94b295
+	0x80ea9fea	0x6c776fea	0xc638768e	0x3e2cd596
+	0x8c6f6218	0xe5b70298	0xad6cb433	0x0271dd2a
+	0x25c9a276	0x24ee6a85	0xe72e9d3f	0x3bdf3f97
+	0xabf11c1e	0x99937754	0x2bb62c14	0xf3da4c81
+	0xc962c562	0x727c4e26	0x97b1c000	0x0de49161
+	0xdb8d6318	0xc9b83dd7	0x40901e67	0x68ac3dd3
+	0x217fecae	0xfa36644a	0xb9399c9f	0x620ccdbf
+	0x81fa634f	0xdb38edb1	0xf7e11418	0x1f580868
+	0x48b35cae	0x7230c6e3	0xf7cc6a25	0x440c45d7
+	0xb390e675	0x9b78318a	0x0d359239	0x97e078cc
+	0x80e65a34	0xd71dbf0b	0xd112cd54	0x53a3f81e
+	0x098f7be4	0xa11d522e	0xebbb20dd	0x2c4a78c0
+	0xd4e79e2e	0x01c919dd	0x2fa34e3f	0x6a16a7df
+	0xb81c9cf9	0x472fd48e	0xd197dae0	0x94cc62c4
+	0xe052d018	0x1ca9bf15	0xb44ddb70	0x814d856c
+	0x68927beb	0x5622d712	0xfb289586	0xd40ab10c
+	0x4c7f3469	0x357a822a	0x717a3720	0x3f3a99ed
+	0xf13943e4	0x043dbfae	0x6fb72671	0x06bcaf58
+	0x790c1e70	0x3e8e537f	0x5a4fb50e	0xa2fe476d
+	0x9db652cf	0xace6b43f	0xd1273d75	0x88727f3f
+	0xe66f9c36	0x24339816	0x28f8dd6c	0x5a4f8879
+	0x51ebf963	0xd64769b3	0xd9006ec3	0x20bd215b
+	0xce24e7cc	0x61c00c46	0xf9b16868	0x429a54f8
+	0x328834df	0xfcdbb181	0xd782c3e9	0x6b71dbe0
+	0x70dcfe9d	0x95c1a80b	0x5ae919c7	0x7e71afab
+	0x4103d80a	0x955c62d8	0xca197e33	0x4b579a1e
+	0x94521734	0xa9bd1f4d	0x112ef524	0xbfafeec9
+	0x6358d4de	0xe68efe2d	0x93c564db	0xa3e4ac68
+	0xc61833f9	0xef2e5dbb	0x4d3a5a3d	0x30e7a355
+	0x6b1ed181	0x1e6cbb81	0xb6fa389c	0x0c7e7ee9
+	0xc20c8770	0xcb04a3ac	0xa4ba69e0	0x7e87b290
+	0x8c67e8db	0x2c3a40f7	0x366bc618	0xdeaab8e0
+	0x95d11262	0x665c9d87	0x68435cf0	0x924c1e1b
+	0xc8f8c882	0xdff0c036	0xfe411797	0x2bd049c1
+	0xf4def28d	0xd8d01637	0xc7ef2c00	0x6367f83f
+	0xd34fdf44	0xd392e10a	0x6d522ea0	0x16f8e3c6
+	0x4d9b0149	0x6ce5ac26	0x57431d08	0x77f105e2
+	0xe9f6f804	0x92dae4d9	0x63baf9f0	0x17056564
+	0x010e1d9f	0x50231c43	0x5ba79db6	0x8517839f
+	0x18afe138	0x88d3a85e	0x786ed442	0x9cf4a72b
+	0x629ebf65	0x613d8e8e	0x712a0fd8	0xbc88b08b
+	0x81ea88b3	0x3ac5f023	0xb93c236e	0x93a3468c
+	0xd86745c6	0x6df47eb2	0x10e2e256	0x2da86820
+	0x1513101f	0x38128155	0x7fbc9673	0x5e8aca10
+	0xc79677d1	0x8006a420	0x56909452	0xde047cd6
+	0x33256da8	0x63637d54	0xdbb682c2	0x9b00c56d
+	0x9f62d072	0xb7be713a	0xb0e603d8	0x047e37e3
+	0xd51ffb7a	0xeec69890	0x1e72d673	0x6d7f5c0d
+	0xa80c0473	0x12b89507	0xd605abac	0xd4c6899d
+	0x9bb98856	0xa6269a33	0xe08135cc	0x8a69b777
+	0x077837e8	0xd13014ea	0x9ca638ad	0x908e6612
+	0x5bf969fd	0xfd9da209	0x3e72a1a3	0xc7cbec2b
+	0x66cf84a1	0xd67e67eb	0x1684ed54	0x22feca3c
+	0x9c0d00c2	0x6337c641	0x89f65117	0x7fa4c657
+	0xebbd3208	0x89322dfb	0x925f82c7	0xebeef669
+	0x8cf74ade	0x55847368	0x28fd1623	0x5c2e0709
+	0xceb12802	0xbc4de4d3	0xec44bd13	0x33574d46
+	0xe89ce0f8	0xc09d2036	0xf83ce68e	0x0da18b34
+	0x30bd2849	0x252235cd	0xae7b84e6	0xb894640f
+	0x5b84fc6c	0x23f8cca0	0xd5a506ad	0x5605e837
+	>;
diff --git a/arch/x86/dts/microcode/m0130679901.dtsi b/arch/x86/dts/microcode/m0130679901.dtsi
deleted file mode 100644
index 11aaaa0..0000000
--- a/arch/x86/dts/microcode/m0130679901.dtsi
+++ /dev/null
@@ -1,3284 +0,0 @@
-/*
- * ---
- * This is a device tree fragment. Use #include to add these properties to a
- * node.
- *
- * Date:
- */
-
-compatible = "intel,microcode";
-intel,header-version = <1>;
-intel,update-revision = <0x901>;
-intel,date-code = <0x4212014>;
-intel,processor-signature = <0x30679>;
-intel,checksum = <0x69c4e6f1>;
-intel,loader-revision = <1>;
-intel,processor-flags = <0x1>;
-
-/* The first 48-bytes are the public header which repeats the above data */
-data = <
-	0x01000000	0x01090000	0x14202104	0x79060300
-	0xf1e6c469	0x01000000	0x01000000	0xd0cb0000
-	0x00cc0000	0x00000000	0x00000000	0x00000000
-	0x00000000	0xa1000000	0x01000200	0x01090000
-	0x00000000	0x00000000	0x18041420	0x01320000
-	0x01000000	0x79060300	0x00000000	0x00000000
-	0x00000000	0x00000000	0x00000000	0x00000000
-	0x00000000	0xf4320000	0x00000000	0x00000000
-	0x00000000	0x00000000	0x00000000	0x00000000
-	0x3b6ec6fe	0xc0fda75e	0xb4ea6a9f	0x8fd6ed15
-	0xd537f374	0x669bf3bb	0xebedec72	0xb4cbc889
-	0xdb666815	0x5a17bfc4	0x4fca009d	0x099ae8b3
-	0x198e2c7d	0x7c665bbf	0xc07a1a7a	0x7dbcee26
-	0x867296b2	0xc885b6ce	0xe602baff	0x68544b14
-	0xc928c400	0x3add156d	0x531946f9	0x92a03216
-	0xda352322	0xd967ee1f	0x3c5170a7	0xf6de834e
-	0x5a2ed8b3	0x9fb8f050	0x450de17f	0xfd5ef070
-	0x4954575f	0xa3a071ab	0xb56e2afb	0xe2b48302
-	0x6655a958	0x57c9a438	0x1b2f688a	0x09309bc4
-	0x0be95612	0x529c1633	0xc48515d9	0x29eb78df
-	0x9933409f	0xda58dea9	0x58c805fd	0xbc110f5a
-	0x40780ec0	0x6ad59bb3	0xc7387fb8	0x591c1490
-	0xf9335932	0x32130e0b	0xef4b3c96	0xacd903f2
-	0x5b362539	0xe7f85529	0xcb17c41f	0xe7e440d8
-	0xfaf7e925	0x969b76fb	0x5edab8c7	0xf00012e8
-	0x121c2971	0xe5b18959	0xadfd07c0	0x1f09c9d7
-	0x9781006a	0x39550073	0x6c438b6d	0x436f60bc
-	0x11000000	0xf03f27bc	0x3ed2262b	0xe1f8f63d
-	0xc164c68f	0x92e5df39	0x46108645	0x99a9968f
-	0x1dfa58a4	0xd1ebfd99	0xca4dae70	0xe466a06a
-	0x49575333	0xe30f49f0	0x814e5961	0xfa4bb7bd
-	0x2e212282	0x31912456	0x7d722c47	0x9cda0657
-	0x111985e9	0xd28d3b0b	0xec52f0c2	0x956b5b95
-	0x0806f491	0xa8096786	0x1e4c1248	0x42ea1ecf
-	0xea09d662	0xa821f68e	0x4b84d60a	0xa6f61348
-	0xfc95c139	0xebcebc32	0xd68ffe3e	0xa9aefabe
-	0xf653aafc	0x2a9f10e4	0xdaf3d51d	0x5f25aaa5
-	0xdedacabe	0xf2e08b12	0x6fb9f444	0x31b13d4e
-	0x13074cd3	0x68905491	0x08ce3a00	0xb3e5a3dc
-	0x9554ca97	0x5955c3a4	0x2e9951fd	0x5d708c9f
-	0xf3abe824	0xcb9105a1	0x3f51122e	0xd2152f23
-	0x2873cd28	0x463c0ff3	0x7bb81500	0xaa360665
-	0xbe69bdf9	0xa32415d6	0x111af68c	0xd129eaf6
-	0xdd102779	0x098a2b08	0x90363b85	0xdb5d3420
-	0xd1d116e3	0x9e5dd54e	0xb4a93d32	0xb5ee99fe
-	0x409f0bca	0x40302319	0xe175ddaa	0xfd7c8d00
-	0x2c28edb9	0x698d27f4	0x2e7945f1	0xc0150485
-	0xf9c599fc	0x139824cb	0x1571f70e	0x222565e8
-	0x3377eb7a	0x70fdee6f	0xd409f0a6	0xc875d05f
-	0x70d6a86b	0x66201d61	0xf8fcb733	0x14279707
-	0xc204e0e4	0x124c89be	0x8b298d1d	0x79bfe168
-	0xdbf7fe94	0x0358af09	0x8291ef8a	0x3e74a2ea
-	0xb7780782	0x0194d445	0x0bab231d	0xd76f85b2
-	0xc7510861	0x4b9a5c80	0x6c9c8583	0x4e18d7db
-	0x7dfeaea8	0x59be4d17	0x8e96f5b7	0x51bcb2da
-	0x5f3afeed	0xd3f46ecd	0x10da04eb	0x29dd87db
-	0xb7df24c5	0xd58dc2dc	0xede0603f	0xadf00cf7
-	0x50090b9f	0xc9130c82	0x854fc603	0x13b8b4be
-	0x10e2e41f	0x5c1d2246	0x0ee11843	0x6d38356d
-	0xd3bd47ae	0xb419f115	0xb118cac7	0x9c61aa7d
-	0xca22cf8a	0xd41af2f1	0x0b5ebfab	0xc0889746
-	0x078c705f	0x9e5b2b7a	0xb886ff49	0x1ab413e4
-	0x085cebc5	0xe3a44ab5	0x8844df92	0x075a79cf
-	0xb8fdc33b	0x1766265c	0x9340a734	0x4af860c9
-	0xa933586e	0x3e8a9a5c	0xf6419a1b	0xa70a1556
-	0xf930240e	0xe294fb1f	0x9bba35c5	0x4051819b
-	0x6799015f	0x7eb725ad	0x3953fe03	0xb8760679
-	0x54c7978c	0x3dfd36c2	0x631212bb	0xdeaca312
-	0x56d994dc	0x3a1696d1	0x214451fd	0x6dc505f7
-	0x7bbf210f	0xa266b569	0x8fb5eb6f	0xa6b76bf8
-	0xc9e782a1	0x8456765d	0x0a9eb223	0xa67e533f
-	0x211016f4	0xd8783c3e	0xc35574b8	0xd97e9b52
-	0x28ad2911	0xbffc5dad	0xd807d783	0x3050f3d1
-	0xcc33efa8	0xb9cf97c2	0xee5dfc8c	0x2adad5bb
-	0x4011c50b	0xa16f5d93	0x5e2ac188	0x521c977f
-	0x6af1b858	0xcd7e4b4c	0xfc988f66	0xc0e4cee9
-	0x82ac99ea	0x54353832	0x2308e02f	0xd084d198
-	0x03574ad5	0xbe4b698f	0xe1d7d294	0xd772d08d
-	0xb7a4fb2a	0xf7c93bb8	0x42fb2f4b	0x98cb1a11
-	0xf564f28e	0xd6ace35f	0xc43f6639	0x85be741d
-	0x079b8c1f	0xb5b45522	0xfedab918	0xf7fa7494
-	0x32204c16	0x1c8d5434	0xc39e58e4	0x99c7a2c4
-	0x3ccfbc3a	0x3f5ba9ef	0xf919921b	0xcffbeb79
-	0xd2927d86	0x5a50486d	0x62bdb218	0x22731dcd
-	0xbad1db2c	0x2f4af4a5	0x8f7eded6	0xeca3dcca
-	0x0bb5ecf7	0x05e6f3c6	0xa38cddff	0xc7cae177
-	0x1d115485	0x711ea542	0x33729cf9	0x59000680
-	0xcaf26070	0xd2647235	0x4ce354fc	0x76d9bdbe
-	0x53e39ec2	0x2d8acfb3	0x193c03b9	0xb3cef3ba
-	0x1da26bd5	0x8dfeeaa5	0xc199d90d	0xcfc8ee2d
-	0x4cb1bd52	0x521d197c	0x008bf34b	0xb6ff25ca
-	0xf4922b7c	0xa91893a8	0xbd3d7874	0x32865e72
-	0xca72c49d	0x02733201	0x6156051d	0x47464b81
-	0x353a3c14	0xa87475c8	0x9681a015	0x4b58832d
-	0xea65c6a2	0xfefef1fb	0xd5fa7dbf	0x13aeee80
-	0x2915b47b	0xe4a54fca	0x31615326	0xbad80f83
-	0x21eedfcc	0x2a2787da	0x6eaa2c9c	0x9de76356
-	0x8a34d823	0x2e7641b8	0xef16714d	0x8267bad4
-	0xacdfff45	0x09a93862	0xf63863de	0x7eec7d8b
-	0x70b4cf72	0xc7a8118c	0x4ed89774	0xc12a5e0d
-	0xe77cc023	0xcdee8fd8	0x20ffe6d9	0x88bcfaa0
-	0xd945e4fb	0xf496fccc	0xe7587e99	0x42252ec4
-	0xcc47d738	0xcc549ca3	0xd5059657	0xfbf502a5
-	0x2788945d	0x4f8ca4d6	0x41b7c069	0x618ebdf6
-	0x0354452c	0xf7249d75	0xe048dd38	0x4ca484b3
-	0x0347342c	0x23608b20	0x8a76cb28	0xd445886d
-	0xfe0e1e6a	0x46678478	0x230c0ef0	0x3add3053
-	0xa6a158c1	0x22c589d3	0x3b728538	0x5f78bfe8
-	0xab0bb3ab	0xb39e20b7	0xbb913a69	0xdf8bb73c
-	0xc2d5bb32	0xbd3e928c	0x30374965	0x9accaf18
-	0x60bb410e	0xa7786a6d	0xd368444d	0xc5eda57d
-	0x7a835abd	0x9f5f74e9	0x33b14a30	0xc0129833
-	0xc5d2e117	0x5f884f0f	0xae6fd2f7	0x3ef71ba2
-	0x0f0b944c	0x1a8dd932	0x2448f0ed	0xfb8ca949
-	0x9d08756f	0x7914384d	0xdd70f795	0x8cf8daff
-	0x6755785b	0xf4e6a191	0x8c5a9a2e	0xfdc19939
-	0x66f39dc0	0x3da9fcc2	0x2c22797b	0x63f892d3
-	0xdcb75a66	0xa043c021	0xcb0f9292	0x887eb1a2
-	0x9d588452	0x9fdc185f	0xf481d465	0xbfef53b9
-	0x38da9baa	0x9d35c4f4	0xa652c843	0xf80f0007
-	0xb482a32c	0x7ae4df5b	0x74ad41c2	0x15d849b3
-	0xc4235054	0x36d44d98	0xc06ad604	0xdc83d81f
-	0xd4b87511	0xab79b430	0x832a7ce1	0xafe26f16
-	0x9f7d26db	0xd00816cd	0xec6e7b8b	0x0392bd20
-	0xfe4b6e2f	0x87795026	0xf9e4eef8	0x06cd2ec8
-	0x91670e6a	0x17aad6af	0x399050d1	0x043d05f8
-	0x5dd8e105	0xa2938113	0x2c47ea5e	0x64a062f8
-	0x14dd01cf	0x6773f479	0xf2b4a773	0xeefe3b89
-	0x8cf35404	0x0f02b236	0x430023ff	0x04ecae31
-	0x6949cdfb	0x65b63ba6	0x86c5a7c6	0xd53cc1b5
-	0xdc1ee770	0x30ebc654	0x67a95215	0x2e4508a9
-	0x9df37690	0x33baf9e5	0x9a58d5c0	0xe99baa0c
-	0x4b7446eb	0xfc7c8340	0xfa5ee60a	0xd1d873b4
-	0x302f882f	0xcff8ac83	0x56d809d2	0xcab281e6
-	0xadca5551	0x50691975	0x7766b753	0xdb7adecd
-	0x131c83af	0x1b09ee46	0x87fdd3ef	0xfe3037c2
-	0xcd2b5362	0x5f21384b	0xacd78f4e	0x145a4793
-	0x131a6a20	0x0fc1adf5	0x3707f20b	0x5d37ba20
-	0x6c8448e6	0x76f721a4	0x348b0456	0x608453ed
-	0xb1185c8a	0x18bbdaa1	0x7c1c6e05	0x46fa7cdf
-	0x390cf9b7	0xe9c825bf	0xf77554c5	0x7dd5a47c
-	0x49cfca16	0x5fd7e6dd	0xf707ac36	0xdb6f0142
-	0xaabda9b0	0xe7ac02e7	0x0a1eb844	0x225686b2
-	0x7852c1cf	0x3912115d	0x89d65081	0xc3f4faee
-	0xfedeba97	0x073395d9	0x33d20ce3	0x56c6c126
-	0x378f822e	0xf575b487	0x043da151	0x1ccae8c2
-	0x5fa2279b	0x0608f618	0x4c90662b	0x30591d0c
-	0xcf217166	0xacdbf6fe	0x1a653b17	0x6fa76090
-	0xc804480e	0x44c5b06b	0x1ebb8a6d	0x2f6f6f08
-	0x6bbeb75c	0x21c5c48d	0xd4c4cc2d	0xfdeab68f
-	0x25cd39e3	0x62970aa2	0x48aa915f	0xca38c833
-	0x9cfd1d10	0x81dbc61d	0x51702e45	0x8f80e492
-	0x07e89651	0x920e9f7d	0xdfa9f973	0x8cbfa187
-	0xbd3e7a14	0xee191486	0xb0077d2e	0x7345adcf
-	0xce36b2ea	0xc73aec7d	0x9278ac37	0xe07c6d96
-	0xf90f78a5	0x38f5584c	0x4941da80	0x67ff3048
-	0x3c263914	0x49656179	0x22f066a5	0x1f5a5e3e
-	0xce9ce83f	0x8e7446a2	0x85473d62	0xd7622673
-	0x3941bc22	0xf879d494	0x0936a517	0x2bba925e
-	0x516761b3	0xe238a8e3	0x11a0c8bf	0xd53cb861
-	0x60c0f0d5	0x63f7f157	0xb23dd4f9	0x5a4fd86c
-	0x3851d435	0x483b98c7	0x71c55b1d	0x1931d219
-	0x7bd54621	0x108bb4af	0xa72c8b97	0x51d985e2
-	0x598a521e	0x7efcf984	0x69b02671	0x5746157d
-	0x60cfc339	0x629567fe	0x2236a93a	0x520d0094
-	0x61811f40	0x856aeba6	0x4fc0a2b3	0xedcc9fb2
-	0x8fce6123	0x2ba53b1b	0x6fc610d4	0xabb564f4
-	0x957158aa	0x1d2b7989	0xaca5dedc	0x684a7086
-	0x1610e1ef	0x2abdf9b0	0xd9e9d205	0x0119ab86
-	0x6da64982	0x71f274b0	0xf425e61b	0x029dc92f
-	0xb13ff88f	0x064ecf92	0x4070c36d	0x58bd6ebd
-	0x629bcf8a	0x9091566a	0xc947a42e	0xd0475c87
-	0xe7773220	0x7b61f2fc	0xae0c08e3	0x44582521
-	0x557dfbaa	0x92fba0ef	0x529900aa	0x90fef908
-	0x570b0495	0x704125df	0xd8f9448e	0x9a7cf1f3
-	0xd83a747b	0xe27e3d56	0x4da6aaa3	0x55439398
-	0xce0d1c02	0xdebd6473	0x580f141b	0xcd5a5e57
-	0x1c64cc23	0x53f8f9c7	0xcfb5b464	0xa4939b05
-	0xc0bb3066	0x37923d76	0xe5e9b428	0x6f4f2894
-	0xe5144757	0xa9cfdc46	0xe3448b78	0x7e0bac3a
-	0x38066245	0x0d7c86fa	0xb7fd09a6	0x075426bf
-	0x3de7c82a	0x1f8d1b36	0x34144ca2	0x6c03ad9d
-	0x34305ef0	0x0a5269ce	0x82a9eeed	0x3be63f82
-	0x2001cea7	0xbba641a8	0xa4dad9e4	0x92e0fb69
-	0xa166dfad	0xd1ae10ab	0x0372e102	0x88469aeb
-	0xaa11bae9	0xf1006dc9	0xa8648217	0xe171b6e8
-	0x590ba849	0xa593cf1f	0x4cf079d4	0xe451e193
-	0x4355a93f	0x54dfcade	0x1a918a74	0x88eff191
-	0xd5a2bf54	0xb9962550	0x58d478ab	0xc78828a9
-	0xe2cff385	0x9ff810e7	0x9643953f	0x84764dee
-	0xe4950d03	0xdf17e0e5	0x4da892d6	0x48145872
-	0xb7453254	0x41240a2a	0x7ddf94bc	0x898771f1
-	0x61a423be	0xcfb46db4	0x7db27a89	0x2feeaa82
-	0x24d86326	0x043f5b1c	0x8cc6bd73	0x934b7b3e
-	0xac4a1262	0xebc494bd	0x53921696	0x115c4d9a
-	0x1d73de18	0x6417f141	0x9fdce4cd	0x8f72ccdd
-	0x3bb26030	0xdaf43da3	0x1e26758b	0xad1234be
-	0xe5bdf477	0xd2dd9e46	0x1270838f	0x557f3bd2
-	0xaa5a28c1	0x61e0d535	0xdc5aa028	0x9af22a6d
-	0x9b669fbb	0x979b5586	0xabf8264f	0xbcf91b17
-	0xda92e3cf	0xaaa87ae0	0x52336f6d	0x5beef95f
-	0x7c310125	0x8858f708	0x3c6e6d73	0x6720d3c6
-	0xed51b365	0xa9e50de2	0x865a7fc1	0x756b5758
-	0xbe13f4ca	0xf2eb039e	0x187d1641	0xc6e37977
-	0xbc3a2d64	0x6523583c	0x70db0cf9	0xebdba06e
-	0x632e8e5a	0x7b44144b	0x338bf7e2	0xf43dd8e4
-	0x2d91d815	0x9aff02dc	0x700ebe20	0xe9b6ea5f
-	0x776cdc38	0x43324788	0x53458290	0x2e22910d
-	0xed0fdf3b	0x279fc3ca	0x5a01f65c	0xc4ad1598
-	0x7a1fa09f	0xd12f97bf	0x34d99bad	0xfcecf69c
-	0x2b5567af	0x57a93cb3	0xfcf93005	0x3a403789
-	0xecaad383	0xc63fe190	0x5b8de563	0xbd9b876d
-	0xa20b875b	0x79db86f9	0x1917cad6	0xe925d5e9
-	0x8a233ed2	0xda8e6369	0x43028013	0x91b72d39
-	0x6b75eb99	0xc7bb03bb	0xab135e5f	0xb73cbade
-	0xfb7b0cfa	0x62ef94cc	0xdfdaa5ee	0x75c0f3ef
-	0xf020108a	0x6c54535f	0xc9583167	0x68fdd582
-	0xc6c95829	0x7fa6f2b4	0x9c7f494c	0xde5daac7
-	0x10088178	0xc27f2052	0x84714bf4	0xd2eb0ba2
-	0x23fd2e08	0x7c2fceb7	0x119bfd3a	0x029faaba
-	0x41c8cd67	0x2461da7f	0x25acc8ef	0xece252ec
-	0x997d4b00	0x3f19f111	0x68237934	0x518f427d
-	0x6c2a04d9	0x27f61e6d	0x68ebf9c6	0xf3ca994f
-	0x43e5c576	0xc4e1fd3b	0xe2393151	0xbf97bbec
-	0xefd161e9	0x5e3a816b	0x1d8b9bd3	0xecbc57f5
-	0x042c1237	0xcb1c852c	0x546f4d72	0x01b37ce2
-	0x20e30817	0x3fbd20d1	0x2ca11cc3	0x63cf6770
-	0xa65064ac	0x32d2cbab	0x9c1fb334	0x37c097ea
-	0x63ea10fd	0x7db8fc2f	0x8a4425dc	0x752ca318
-	0x9a570211	0x50f90038	0x90abfad1	0xe81169f7
-	0xd804a9b7	0x18b7efa2	0x6daabb80	0xf098566e
-	0xb5df2af6	0x8f23ef8d	0xed7dac93	0x4fbed0de
-	0x929b870e	0x60b5c69b	0x5589cc4d	0x588914af
-	0xfd78c6f8	0xd4018180	0x43d22344	0x873ee413
-	0x0ad0f12a	0x15200a82	0x749bff31	0x6fd4ca58
-	0xeea48890	0xc1507520	0x7a750a56	0x87c85e9b
-	0x2bc19182	0x9e7084d6	0xee8595b0	0x3c35ef78
-	0xaa19db33	0xbc4d7c20	0xa7b2c1ef	0x51ccd346
-	0x72b24c95	0xedf9e250	0x88a582df	0x42a27480
-	0x8fe7bfa3	0xb5f08d25	0x2cfb9e8c	0xcc118d13
-	0x50d9c479	0xf4abe2bd	0x1b22edbf	0x8f525f45
-	0xac39c5d6	0xb35d5c21	0x0e588e14	0x4715d55a
-	0x1b0ecbad	0x16e9e58d	0xcefb1002	0x8a37403e
-	0x70e90356	0x9b7a48f6	0x43bcf700	0x70470d6e
-	0x8e0dd0ea	0x7620f026	0xb4809687	0x8a3d8bef
-	0xdc0261a9	0x3e8d2dbc	0x6d48a5b3	0x4107a6d9
-	0x2dc369b0	0x671d66a3	0x559e6e50	0x4b8098ba
-	0x28209e38	0xf2bd6114	0x0a6f4f54	0x77a82065
-	0x406470a2	0x93cae58d	0xcf774ed5	0x7f4cdd72
-	0xfb869931	0x4ab42cd8	0x8251ded1	0x2c85fccd
-	0x14a8ae06	0x92333b50	0x53f605f9	0x3347f24f
-	0xf190509f	0xf72b525e	0x13a0f3ae	0xc04c7e10
-	0xa735fbf2	0x94df568b	0x71f6306e	0xcad6592e
-	0x1690c07f	0x64dda7ef	0xb03c8822	0x41f58140
-	0xc1953b66	0x2b4bae6a	0x278c23d4	0x0a02a425
-	0x10942d48	0x70557bb5	0x94981643	0x63214c9e
-	0xaa7ea265	0x505bf23b	0xa66c7082	0xf428671e
-	0xd1fdc33d	0x5817c28b	0x2ad4649a	0xb22b1eb1
-	0x17f29535	0x0423d04e	0x8b4d30cb	0xc36089f1
-	0x492dcfa4	0xe7842e60	0x7d4805de	0x02d4f43f
-	0xd3b6933d	0xa763e450	0x4301f667	0x58318b37
-	0x78d9dd14	0x84343bf2	0xf62e93a3	0x76d9d617
-	0x82c37d71	0xc3fa7cda	0x3dffa327	0xa171b148
-	0x4654011a	0x7cbd5689	0xaabe734f	0xb8226cd0
-	0x9d846c68	0xb9233e88	0xfc0b0bcc	0x2138ccfe
-	0xaff53d8f	0x9b0b8b80	0xb2be2912	0xcc871084
-	0x47a380a1	0x593c82ed	0x3cc8424f	0x5e77c12d
-	0x813626a2	0x8021e31e	0xeede3c2c	0xb8fea5ea
-	0x236a7fc6	0x783bdc5b	0x0d67a0ab	0x8987c13f
-	0xb6381e65	0x3b313687	0x52ad7a81	0x759ae49d
-	0x468ab620	0x8b735c2e	0x60937053	0xb3cf5867
-	0xb48525fe	0xd8bc07fa	0xf092e18b	0x6d8ce7a3
-	0xfeec327d	0x752e3f43	0xf106ac62	0xfe3489b7
-	0xa699af8d	0x1c5dcb5a	0x3a931d51	0xc1409944
-	0x843c3667	0xb923eb17	0x67c3d38f	0xd1edd5bb
-	0x4bffe68e	0x8b7acab6	0xe0058382	0x79de2e31
-	0x1e48cc0f	0xc4b8ad1e	0x5a00cf89	0xa4f6b8e4
-	0x29d42e0a	0x3d483f3e	0x746de9bf	0x0ce78994
-	0xcb6df646	0xe287b7f6	0x85907659	0x333127fb
-	0x6aac4a54	0x5ff7c669	0xd42ea2ac	0x92ae55b9
-	0x952f68e5	0x3273a013	0xec6cedbe	0x9ede1ad3
-	0x76d7c595	0x167c73fe	0x7c2572f4	0x8f653319
-	0xa1c726a4	0xf7ba8a71	0x5bc9b17c	0xc0d89104
-	0xc0ba5907	0x0e8c9c27	0xc8205b68	0x74f8aebf
-	0x02acd438	0x28783ffd	0x143ea70d	0x9c82abd6
-	0x9eb156e1	0x5951d075	0x5afb06d9	0xd14bac91
-	0x6ae19745	0x728cd46e	0x775cf71d	0x1126cf7e
-	0x058d4dcb	0x7f5f648d	0x5f37a908	0xd2fd843e
-	0x8dd64fb8	0xcdaa761a	0x105c38c1	0x9b5f440f
-	0x2dad00c4	0xd3c25b11	0xcc07bfb0	0xbc432852
-	0xc2d34e0c	0x0b1978f9	0x95a119ee	0xfc4dbdfd
-	0xae6d3b7a	0xff06ff00	0x30976600	0x9e47e68f
-	0x3308cf27	0x0a2d1580	0xe91ea75e	0xcbf12170
-	0xc7da3143	0xbe0a6ded	0x74d03d5a	0xb0869deb
-	0xbb94dec7	0xec2a053f	0xcb4fd13f	0x04912071
-	0xb1af28a2	0xee094f0f	0xa78a4965	0xcdded4aa
-	0x6d4959cb	0x93ee7709	0x2901d3af	0x6ad494ad
-	0xb95203f0	0x1fa160d4	0x7a06d88f	0x35f89a76
-	0x5e151830	0x27feb3eb	0xa9a9805f	0xc43b9387
-	0x5b6bf76e	0x3372d23a	0xbe2d27f1	0xad9b7282
-	0x5d67323b	0x2e96328d	0x3d90fe8a	0x9e4d4522
-	0xa2eba985	0xe1ed3264	0x28eab708	0x2551ba26
-	0xc143badb	0x3bebdacd	0x4da62bf1	0x875ffcaa
-	0xcc643e34	0x1b75c14d	0x13b84e83	0x8abb6f10
-	0xb82dd0fb	0xf31e4572	0xca8a5f58	0xb98da99f
-	0xec33fc4c	0x952384ca	0xd673c525	0x45f36727
-	0x269b8efb	0xfe5bc4a4	0x90325548	0xb8aefb93
-	0x6a2381c6	0xdc4ecc1e	0x7fc546b2	0x5348ca20
-	0x8eca0f26	0x5a49fa01	0x4b0822fd	0x862e680f
-	0x5abdf88e	0xeb23e8fb	0x2c023eb8	0x092cdb59
-	0xa15e0fbf	0x03f1e5e9	0x2c343bfd	0x8876aa74
-	0x5b80428d	0x4a4fba83	0xeea3da82	0x414a610d
-	0xecb123db	0x0f81b8b2	0xfdd1c970	0x8de71d6f
-	0x0ca553b1	0x57fc98ad	0x47d44eb3	0x17827c70
-	0x2d91f5b1	0xecf63cb7	0xb4fdb928	0xc49c42ed
-	0xeea589bd	0x62cf916b	0x02a553a6	0x50cb4523
-	0x959d3831	0xebfa026e	0xd2483d91	0x140364c2
-	0xa8ddcdd6	0xca343670	0x589a154f	0x6bf369ed
-	0x40eff32d	0xd7b49920	0xf4bff896	0x5a62c192
-	0x0a4cb0bc	0x449533d6	0xace20ca3	0xfae7465b
-	0xb6e0edda	0xda214fa1	0xcc08b6be	0x54c342cb
-	0xc09f8db1	0xead565c0	0xe38b2187	0xd0d0be68
-	0x16748998	0xced5a632	0xa0636b45	0xc71ab63f
-	0xfe161e04	0xe8b66fdb	0x878e2039	0x17af26c2
-	0x6851cb01	0x9484d4a5	0x697e6981	0x9946e0fc
-	0x970cbede	0x87d887f2	0xd987bd44	0x10dcae60
-	0x20239b60	0xe9ef795c	0x536f0f3b	0x2d4de85d
-	0xd50035c9	0x335410a8	0xee350c4f	0xcf94d278
-	0x688c98c6	0x3c0402d5	0xa8b8a81c	0x952c67e6
-	0xdf432d95	0xb74dd56d	0x77316d7c	0x56df9401
-	0xb8aad070	0xf5d1cbb6	0x206f18bd	0x59fdf55d
-	0x5de26069	0x31ab08b6	0x719a4d81	0x8f1c8212
-	0xc792bd91	0xd6f262c9	0xab4bd545	0x36f3c600
-	0x917c135e	0x1aa0455b	0xc1de8100	0x855db3e9
-	0x42d41a24	0x40955a66	0x8475c651	0xc7f44c6a
-	0x4e1f0df2	0x7cc5cd54	0x35a47bec	0xe6ac8550
-	0x8b43af30	0x6fcd1cb0	0xf37de1ef	0x00c70de7
-	0x63913125	0xb33688d5	0x8c296f13	0x93570308
-	0x6d8aafbf	0x67a574e9	0xf297b1a6	0x53600c84
-	0xfdea2e69	0xe75cf59a	0x1b0e3dd0	0x7f7fa8c2
-	0x7e463346	0x97c7069a	0x671ce307	0x2441f370
-	0xbbeb3a08	0xc2e4448b	0x2157fe23	0x70954499
-	0x3038e792	0x4a8a2fb0	0xa1f4541d	0x7c88605a
-	0x6a4edc03	0x689fe83b	0x93835e79	0x19c99c39
-	0x9ea7dfa9	0x36bd28c2	0x64ac057b	0xa2987c35
-	0x9c3f17ad	0x0be5e9f8	0xef63c94d	0xee32f2b1
-	0x3781a3ae	0x9ebe229f	0x77467a2a	0x1dfd79fe
-	0x24ed349a	0x3008c1c8	0xb77520f3	0xbf831d15
-	0x11dc4dee	0x7b5e47fc	0xfefa0f69	0x2a820af8
-	0x8e133d47	0xa021cf99	0x7886d896	0x8edadf3d
-	0x89a10318	0xb048ce73	0xd9843457	0xe000594b
-	0xff3c1ea8	0xd93a7c02	0x8471da9b	0xf24ccfcc
-	0x6f0576b7	0xeb024ef8	0xaf75787b	0x508fca52
-	0x18315250	0x74482410	0x169985c9	0x911c14ef
-	0x96575aa6	0xd4791358	0x1bcd07b0	0xf91ff654
-	0xc3b9c8d0	0x101e8aaa	0x84b8352b	0x16f57154
-	0x843a47f1	0x88269e3d	0xa625bd0d	0x99c91f9c
-	0xfe79c26c	0xd1844839	0xaa59ec6d	0x1e1b9ca5
-	0xb99e4bf7	0xc8c06104	0x29985a13	0x2aa0dea8
-	0xa92de35e	0x8242311d	0x61e0a059	0x09232eac
-	0xc7e8f2b4	0x05fbcfa5	0x41d2cac9	0x5d2026f9
-	0x69b970c0	0x0274700a	0x1f5f23d6	0xb98aea3b
-	0xd879d256	0x69230276	0xbec32596	0x6d4dcd0c
-	0x04efed6b	0xcf5ca09b	0xddd17a77	0x821a0172
-	0xe656d7e6	0x70dd6839	0x75710294	0x59765f6f
-	0xa3174d9b	0x4227c2a1	0x23ddd6c4	0x1d7d8c79
-	0xb2e50bb1	0x98744c39	0x853152f9	0x4d439b89
-	0xf852ac32	0x89ad2fd8	0x613c8c1d	0x47ab4071
-	0xdd62c705	0xe623a5ec	0x93f4bf07	0x5053a3fe
-	0x2545e42c	0x03e4ca84	0xa5dcf9cf	0xc279dd6e
-	0x6e3e2248	0x51c6338b	0x1b79f55d	0x871d7595
-	0x1991ba98	0x697bf68a	0x634bef62	0x415df824
-	0x007523ec	0x595fe4f3	0xd2018516	0xcfa8f6b3
-	0x1e3d33da	0x141858c4	0xa553fa95	0x0ba00794
-	0x923edb17	0x86a18480	0x4aa94d38	0x429814d8
-	0xdd0d853b	0x375808f6	0xcf857aba	0x6f6d5dc9
-	0xdc27fee9	0x7c49718b	0xb3eb09ee	0xf48ba9f7
-	0xa7f8deaa	0xa0afa80f	0x84a0ea27	0x63858132
-	0xa552f06d	0xcce0bc50	0x70a6b770	0xe21c7251
-	0x1fb70601	0x2e93b5f3	0x1f257ad1	0xab09dde3
-	0x176c80a3	0xa1845a72	0xcf68a2e2	0xe3bdd613
-	0xa41d6e7e	0xde870606	0xc292df07	0x7093562d
-	0x692e5e51	0x179dd237	0x01dc96ea	0x3a2efdfc
-	0x6088f181	0x7c3d290f	0xbd38e29c	0x340cead8
-	0xdca8ea9a	0xa43a7899	0xf6541b9c	0xafabfe18
-	0xb5557f4b	0x995bcd2a	0x5355ea0e	0xf3dcdf66
-	0x02216d50	0xaa3a8f23	0x1c63637e	0xb8950554
-	0x7199e726	0x20fed1f2	0x027d67e3	0x7d5a236d
-	0xd1e01da6	0x2db0e750	0xfba1d718	0xa58b42ea
-	0x839b80e9	0xcc55d1aa	0xb1da75e5	0x50789516
-	0x818913cc	0x03facba2	0x6e2bda29	0x1e3c1120
-	0x8fe64712	0x12317a15	0x6e6bb39f	0x7edd5bbb
-	0x900bf72d	0xc6a822c8	0x3353d602	0xd9965f2a
-	0xfc290ed8	0x9c8210e3	0xaa84d5ae	0xdf9f1507
-	0xbd10f9ff	0x50a4d9f4	0x22111607	0xd4043bad
-	0xfb7b42e2	0xe0285329	0x4e76e1a7	0x4188ed50
-	0x88cd2a99	0x4727768e	0xba625d6a	0xf8ad5d67
-	0xcc1595cd	0x36984dda	0x7c9f8fcb	0x4e9ec35e
-	0x37f95b62	0x8e70690a	0x8e43aeec	0xf3434e0c
-	0xa4b3ccee	0x99c0d714	0xee0082c0	0x9d9f002d
-	0x3eab3543	0x829e9098	0xafe4e802	0x5337a928
-	0x9bfd2d3c	0x43b69305	0x2c10167b	0x8b06b92e
-	0x949049c3	0xc98231a3	0xf77c9543	0x9961f18a
-	0x36a63fa0	0x039932f1	0x1179d978	0xb43063e0
-	0x89bc1a9a	0x2a61348d	0x34113ada	0x1866335c
-	0x8b0249ef	0x94c2a8a9	0xd002ae9c	0x029e1f71
-	0x989a3204	0x57b1aaea	0xf2d06793	0x62f17706
-	0x656e06b8	0x022897b3	0x09c381bf	0xafd90766
-	0x8c79df8e	0x665a6727	0x33c2cd0c	0x2e61c4aa
-	0x9dd83f35	0x01b2b241	0x70f5d0e4	0x0e98f63f
-	0x800dc70c	0x8eb5c772	0x7defbb2f	0x763810f0
-	0x7ff959ab	0x07640942	0x7ca07fa5	0xa7bace66
-	0x208a078f	0x2975dd73	0xa4866e67	0x271f5bac
-	0xdca36998	0xe5e1d1fd	0x511f9ffc	0xafac1c08
-	0x827968f9	0x8823df83	0xba2c243c	0x3e2a0d33
-	0x77e0cd0a	0x623d50a3	0x278f115b	0xb79a27e0
-	0x51ab943e	0xdda62a6a	0xb42ea0e4	0x2ae47d5f
-	0x5ceb281f	0x022dfce9	0xe1f879f7	0x6fe70f50
-	0x1d98abe7	0x0828e611	0x8ad0ba15	0x61bbd7be
-	0x5cde8df9	0xd78b7375	0xe1cf9350	0x9faae80b
-	0x5564c0dd	0x3d735e25	0x64985c05	0x20ac585d
-	0x57e9da3d	0x495cf386	0x1889c50e	0xc313efb3
-	0xb3f5e423	0xbb87a9b0	0x3cd06b09	0xdf51b230
-	0xeb2801dd	0x6d5d43cf	0x1fba7400	0x08791e6f
-	0xf90e0873	0xa65df0b8	0x64369b67	0xc22c9200
-	0xd840f9f0	0xcc49d4de	0x9987db7f	0x8fec9974
-	0xc826c852	0x657bd87c	0xcaddde2c	0xeb0dc447
-	0x4a45ffa9	0x035d22b0	0x236eceff	0xa3ba5f8c
-	0xccee0a9a	0xbad5d1dd	0x1cc8b587	0x5f11d469
-	0x99f8c63e	0x64311906	0x43c19b36	0xef9d5e86
-	0x00705473	0x78100dd0	0xedab57b3	0xf3b00610
-	0xfc6e3467	0x6c4bff2f	0x97227c44	0x38ca257b
-	0x4e79fd63	0x0c8b3466	0xa2ae7e62	0xb01fba5c
-	0xdeee261d	0x2a4c6387	0xb9dce78a	0x2f0905c3
-	0xa76a7929	0x5f3fa1f0	0xca4e5260	0xccba772d
-	0x862fec80	0xb8257aa1	0x7c79cfac	0xc75d7230
-	0x387e536a	0xaff486e5	0x3c549063	0xeea5fc5c
-	0xc433a55c	0xbfb619b4	0xf36fb0c5	0x4faab4e4
-	0xbcd75d84	0x6eb5ee8c	0xaa4e29a9	0x551db0d6
-	0x1ccbc659	0x9b5e8c52	0x1e33bab4	0xcfd30d60
-	0x6366c21d	0x3f0d7056	0x7f2247da	0xaba4f322
-	0x7b0ec4fe	0xdd64dd73	0xcd538711	0x67dfcd4b
-	0x02d1b6f0	0xef0b6e60	0x1058738d	0x0c056ad5
-	0xb40abdbc	0xfc2549e2	0x6fb269b6	0x08f7ec08
-	0xea0a76de	0x7e97ee14	0x4eed0856	0x75ba49db
-	0x8145dd79	0x43101098	0xac911399	0xf8aab5ed
-	0x1e9d391b	0xb2a3fbe1	0xa394939f	0x12b8300e
-	0xa5f5200f	0xc350dcc7	0x1b2380d2	0xa599b322
-	0xe219e0d0	0xe4912308	0x0ad305cb	0x2e22d468
-	0x599eacdc	0xcf3b7eba	0x65fe5903	0x44f6cb16
-	0x0ab29b19	0xa74185e6	0x41736bf9	0xeaf231f9
-	0x762d0e7f	0x8b445ce4	0x173d3775	0x138da565
-	0xe4f7f652	0xe62e4ae8	0x91ce0ed8	0x1fc94878
-	0xe44acd84	0xe4402b5c	0x6437aaff	0xe7b0d8d8
-	0x514fbcf5	0x4b3bf5bf	0x0696b5d0	0x89a562ee
-	0x02408e77	0x94cc3287	0x47860ed4	0x42aedc7e
-	0xe9f0f3a2	0x4cf19812	0x3181341b	0xd72803a2
-	0x42f5c8b3	0x5735456a	0xef70c247	0x5943b8e4
-	0x7c62b0e9	0xc507e2e6	0x85a2c82f	0x95c6d92d
-	0xfeefff6e	0x5740c004	0x1958f117	0x44ebaa15
-	0x9f061786	0x732a8720	0x9483f974	0x839d5b20
-	0xeefb728b	0xae2d4b7c	0x49bcb243	0xd86db07b
-	0x73b0542f	0xc5a34fd7	0x5b9401fd	0x7f75e686
-	0xb239ec36	0x41e7943d	0x2bc517f7	0x27057733
-	0xf6c9cbd1	0x2965ef66	0x969b44e6	0x77b66e0f
-	0x68b93916	0x31d581c2	0x8520df18	0x16ce6af1
-	0x70bbf865	0x6d1ea78e	0x989ed713	0xf97c0d1d
-	0x538aef6b	0xf1ac3c76	0xf65f8bf6	0x4f4d3a8d
-	0x639d90ee	0x43079e8c	0xc9d50f0a	0x9b12ec49
-	0xaebe3d8a	0xd1bc3cc6	0x8b92e348	0xd056119c
-	0x7aec25f3	0xb3d2cf65	0x32c03540	0x53287cff
-	0x0bfa781b	0xf8610282	0x18a2d96a	0x541a6f1a
-	0x6052aac0	0x4f79e46a	0x7c868b93	0x6547a94d
-	0x58326c30	0x98e46f02	0x77cdd3c2	0x204ce551
-	0xa5e32028	0x679e3153	0xc7880c16	0xf32743f0
-	0x63c8892b	0x51d8a6ea	0x42bc6417	0xdb8ae71d
-	0x04c71f86	0x1a5bd80b	0x810f3b56	0x049580a6
-	0xd384d2b4	0x92cd10c8	0xaf4e6ce2	0xac955cc4
-	0xf57b42b7	0x1017f2b4	0x3031fafb	0x3d1a8024
-	0x3aca42cb	0x75514d81	0x454b1806	0x5505c3e5
-	0x26d2c642	0x57454f1b	0x5e2d3c9b	0x6535eaf5
-	0x370de383	0x6adfbbe2	0x513a5d0f	0xfc48c333
-	0xa0a70bcd	0x35777e16	0x5ecec516	0xb7879d7b
-	0x08928fd4	0x88c8048f	0x4a0d2896	0x5bdae2f1
-	0x8761b488	0xfae8bb60	0x3c8e8abc	0x13939d3c
-	0xc29493ca	0x585a71c8	0x43205f16	0x06a3be38
-	0x4be88f47	0xd2be8c8e	0x3d721e2a	0x43051f74
-	0x922a9a30	0x6391fc85	0xc4965afc	0x61f082e9
-	0xc2686e37	0x4f77b6a1	0xac47fa16	0x1eb05157
-	0xe6f767a0	0x24177985	0xdf80b368	0xb54d959c
-	0xa5719425	0x656c70de	0xf35dfd40	0x702d5063
-	0x4e7ac001	0xc4bb4fb2	0x4af7b9e5	0xe0eb5c48
-	0xf08b19c0	0x468b1471	0x74af9030	0x51d171e9
-	0x81a59926	0x55b893e4	0x17adeb1e	0x72084962
-	0x7f358bec	0xbd4363b9	0x75a56726	0x3a033a75
-	0xd0fbf874	0xa6bf634f	0xa5e4be7f	0x4cd8338c
-	0xef6838b8	0x1d458215	0xff7698ba	0x4ba19dec
-	0x87f58c07	0x2c7933a6	0x1cd4f99a	0x158bba9f
-	0xffcedb5d	0x256eb5d7	0xcb6dadde	0x980349bc
-	0x6169dcf3	0x94267861	0x168ba5e4	0xd2063474
-	0x156c9738	0xc4bd2c2d	0x31ad709c	0x58cd43e6
-	0x76ba9c33	0x070f490b	0x357c3929	0x103bef50
-	0x82ebacfe	0x5affdca2	0x96d0965d	0x60911a5f
-	0x65d4f52a	0x795b3094	0xf56291dc	0x6e614bb5
-	0xf701246d	0x4953b1b4	0x15e4e5fa	0xb6954973
-	0x43ada767	0x4c0a9f27	0xa47f78da	0x52375c95
-	0x79770885	0x479c5aed	0xca2ac2b8	0xee74cc5d
-	0x752f00d4	0x2b5532d6	0xd3641edd	0x05eb0e05
-	0x5118c9a9	0x47a0e0b5	0x5f12d793	0x92019247
-	0x27d77d98	0x0e413c92	0x76e4aea0	0x9fa8e3f1
-	0x3c57e54d	0xf4a60ba2	0x5bb37f64	0x8b214f1d
-	0x320f3bec	0x1cfd1f0f	0xb0cf5b70	0xf26a138e
-	0x37bb143f	0x993d3fa6	0xde4138c2	0x9fa287ba
-	0x137617ff	0x591624c0	0x1d10f02a	0xf7e350a2
-	0x76bc2933	0x12af6e72	0x1777e320	0x3e161b20
-	0x6c9fd66a	0x0b30f462	0x9cb717cc	0xee2902ba
-	0x466d7b9e	0xe97c26a4	0x7406b88a	0xf15a7209
-	0x3d2815c1	0x3eb961e1	0xe5321371	0x05f60ece
-	0x39168ef2	0x201a9dfc	0x90fdb132	0xe4531401
-	0xbef01e52	0xade4b385	0x6ca0c911	0x7586ff60
-	0xe457457c	0xfbfa3688	0xc826a1e9	0x10360416
-	0x192b51d4	0x18471973	0x3f0dd5ae	0xea2bbfc1
-	0xbe099b58	0x8bd8efda	0xdfc56e40	0x9e50f4e9
-	0xceeaab0a	0xd1eeb5d2	0x840a3cd2	0x6b739449
-	0x4a94e95f	0xe53720e7	0x68c70986	0x1cec3aeb
-	0x2423ad9a	0xe83b9246	0x7ac4b815	0x3796ec1c
-	0x65ec7484	0x79e5b0cb	0xd25f4790	0x55573d75
-	0x0f24c1ae	0x6d5d9b62	0xf3b2788c	0x2c695087
-	0x0980abb0	0x5086c2b1	0x26a247e9	0x72071084
-	0xe76c66a2	0xcc9c0bba	0xc67723b5	0x19a809d9
-	0xddc03879	0x7161b52d	0x24ee285c	0x5a345427
-	0x0626ef30	0xb734a77e	0x8ff087f3	0x80222e05
-	0x91b6c40a	0x4fe76862	0xef66e1df	0xeedb9f06
-	0xb785ea7e	0x0e84aab2	0xd0a669d6	0x7ccc77d0
-	0x264df92e	0xe9d1b14a	0x4b517134	0x05444463
-	0x408e7bb2	0xe7ad2bc4	0x5d8cb4c5	0x61e508ab
-	0x9798953a	0xa6848924	0xf26be53c	0x8940d4f6
-	0x56f11005	0x6d8d60ef	0x03c374a9	0xce0dbc18
-	0x341e634f	0x64e7d2f8	0xeb201eb7	0x2dee184b
-	0x57ecd83f	0xd8f644a9	0xca4493e8	0x66347804
-	0x542e06e8	0x55f607ea	0x7f425fa6	0x362807b4
-	0x731c87c3	0x4b5d6e1f	0x03e70201	0xbc5f4080
-	0x899cfd7b	0xa651d567	0x9c333e24	0x8b0eedc1
-	0x53ff0c74	0x7db69633	0x6637bbda	0x5ce53c7c
-	0xe93bd003	0x91234974	0xe8a626f2	0xc6550418
-	0x1b4157aa	0xc42ff7e4	0x1b9213ae	0x70d84165
-	0xc7cb09cc	0x38bf0221	0x238ff6b7	0x3688fd5b
-	0x5694728f	0x4a8e4cfb	0x3cd7e1d2	0x72a41c1a
-	0x2d098e4c	0x5a0ab21d	0xc8a40160	0xf252b062
-	0xc172763a	0xaedea2e4	0xeedcbcf9	0x4c0d2216
-	0x02b5eba5	0x410139da	0xde4ff14c	0xa53ca456
-	0x8c30792f	0x6af27a7b	0x734b1dab	0xf4f60014
-	0x79fc3cc7	0xfc578e4f	0x20948f41	0xb4fbe4c4
-	0xdbb21292	0xac1aa341	0x7ffb8913	0xa498296d
-	0xae1e8f6a	0x167d82cb	0x094513fd	0x8f0810c7
-	0xd01d348f	0x700d0063	0xeaacbad2	0x23d45e0a
-	0xe3b3a244	0xf2f7100b	0xf680fb9b	0x529efdd1
-	0x01dc5480	0x263328c6	0x686fbe31	0xbf3a1057
-	0x34c763da	0xae45207e	0xcb5abb2b	0x011c0faf
-	0xde2b6f4e	0x3d95034b	0xacec6e7a	0xc792595e
-	0xeb3cd922	0x7894f0d5	0xd9a7e62a	0x1a3c2ea9
-	0xa8f22d99	0x1ffaa636	0x47c6f1ff	0x69feca71
-	0xcf8d73d6	0x1c85d0fd	0xcce984c1	0x993f7a9f
-	0xc095c139	0x1c013486	0x675a753e	0x01030902
-	0xccab4cd7	0x0c14c605	0x5ebc19b1	0x60ad33a1
-	0xe80e1200	0xdf49db31	0x855aee7a	0xbfa37ef2
-	0x135d844f	0xdde541e3	0x0522f180	0xa27312bc
-	0x57046808	0xb96fe1b6	0x77c2806e	0xb90ac06f
-	0xa425864e	0x857ff22f	0x16eca5a6	0xbaa58ca6
-	0xab30772e	0xb20507fc	0xa593f6cb	0x9e7e8409
-	0xac4ecd8d	0xa9c0561b	0x0c462492	0xb3ee5aa1
-	0x83d3d56c	0x5bc20412	0x03365294	0x09758ede
-	0xe9e6968a	0x80ffc576	0xe62ddfd6	0xd5934635
-	0xe07f36e1	0x99c0db4e	0x2dcdb7ed	0x68749a34
-	0x4f718748	0x630b1315	0xe632adbb	0x4c111085
-	0x13bbfaf1	0xb70bd522	0xf22068d1	0x4ed37edb
-	0x7c50ff42	0xa6b61456	0x828deb4d	0xf19dc8ae
-	0x7ed7560e	0xb47a1aed	0xb79beb35	0x720d104f
-	0xff5ecb74	0x1e7d9f8c	0xa69f72fc	0x743e81bc
-	0xa11aacfc	0xab8fdc17	0x263ea36e	0x840bc0ec
-	0xb994aefc	0xcc5922c4	0x08411c01	0x0073895d
-	0x7b661458	0x8bf91a68	0x93112089	0x541e53ed
-	0x37706daf	0xc8733951	0xe74fa74e	0x638cfb72
-	0xe696bdc6	0x87f4b7c7	0x413acce6	0x16642eec
-	0x83b0ecf9	0xcf770d15	0xa4aad143	0x2ecd9f9a
-	0x5bd7a2c0	0x07dca9c3	0xf6ab7c5d	0xaa4a55c2
-	0xd410d6a8	0xdb84dc85	0x6b8e3aa6	0x8f268bb5
-	0x1e9604cd	0xb5fabbcd	0xc8a519d7	0x07fdab7f
-	0xceee08f1	0x08b9566e	0xaa646716	0x4ba7ca9f
-	0xe0166e0d	0xb31e9561	0xbb9315cd	0x42201352
-	0x5eae88f3	0x8b8e8eee	0xd63d0610	0xe64a45bd
-	0xc2e8a084	0x2e421cb3	0xda754ee9	0xcdfe2c8b
-	0x52b5544c	0xe5c0616e	0x387916c6	0x204c7ca3
-	0xdc507264	0xca026018	0xb4dc7a91	0xa9f27453
-	0xfb6995c8	0x349b640d	0xe59e1670	0x53d18974
-	0xa61ee5e8	0xdc8b88d7	0x78d2f8f8	0x72ddf8c1
-	0x7345705a	0x1e6ecb19	0xff0f4f31	0x197ae361
-	0xc2e43f5f	0x80a2bf1e	0x274d46c4	0xbb3ae1ff
-	0xd59798f3	0x5bf16015	0x871d2acc	0x4044c5b1
-	0x9ea15fc0	0x9a735765	0x1683fd6f	0xfeb503d9
-	0xc3de1998	0x14405d5b	0x86b76966	0xb3893dbd
-	0xdb365404	0x6636d465	0x63558798	0x758d5f12
-	0x6e225d18	0xad787cc5	0x775a5c1b	0x68112320
-	0x23e1ea3d	0x8cf63961	0x0596cb9d	0xe9ca89e5
-	0x96cb88a3	0xb7cac802	0x3b38edc2	0xb455d1ae
-	0xfb215ed9	0x9cfe7580	0x0410155a	0xc6b75ca3
-	0x359ef846	0xf96db47a	0x9800cc06	0x9ab0eeac
-	0x1c86094d	0x19537992	0x3cc54b13	0xe877a758
-	0x35c01849	0x396470de	0x8c229cb6	0x2b01a145
-	0x54ae9638	0x33b0bb07	0x5d38fbfa	0x3a08d46b
-	0xab433b4a	0x6be993fa	0xe85fe0e6	0xd4d2b82c
-	0xc35398ca	0x66200602	0x51df5ed3	0xddb67c76
-	0x6a4c2d36	0x9a02eb04	0x8ce871ce	0x66753dbc
-	0x5441d00a	0x3d331728	0x80c55fcc	0xac286e97
-	0x71fad042	0xe99c0cdb	0x3120ef01	0xfabe32e3
-	0x265699eb	0xa73e31be	0xdd44e3fa	0x668531dc
-	0xd4ba1078	0x0f13c8fb	0xa136ed20	0x010f3c83
-	0xb3f8eaa6	0xc6d95837	0x0e09bd46	0xf0ecb760
-	0x8dd905c0	0x02cbe8fd	0xfa898489	0x14ab16b4
-	0x6ae99a74	0x516a171a	0xaa60c4c8	0xc075f0cb
-	0xef530ecc	0xf6fffd33	0xe1d2af99	0x6913b9ec
-	0xc96666c1	0x20743c9d	0xf65cd424	0xa671b903
-	0xcbff34ba	0x60df0c1c	0x0d610133	0x4281a959
-	0x656230ac	0x1693d52a	0xf4d37186	0x203caa5c
-	0xa54cad8d	0xea1c8816	0x5bd54f8c	0x2a3c33c3
-	0x151f72b6	0x63061580	0x0bc7f244	0x882f7656
-	0x243d76fe	0x9b3bf7c6	0x3337a21b	0x8b9e3e63
-	0x106289a1	0x74ae0571	0x8a43a5a9	0x7ad8c804
-	0xb6867d45	0x45732f84	0x0d1773f6	0x9fc01aa7
-	0x7b192c33	0xeeab4a4c	0xc96ae493	0xb5aad8be
-	0x8b32c8cf	0x8ebf63c8	0x5f2a5e17	0x43a2899c
-	0x35ec1fc2	0x7c675072	0x6673d01f	0xc1d85b58
-	0xf73dec41	0xc1c89c18	0xff8fac98	0x434c3c5d
-	0x184ee2bc	0x3469f366	0x2558fbf7	0xa0e5622a
-	0xebb39f69	0xe9020554	0x3cd80512	0x767bcd48
-	0x2e388fca	0x32eaa226	0xeaf4f6a4	0xbf7fb5ce
-	0xdde75b24	0x30365d1b	0x48fd5203	0xca805f98
-	0x82526a04	0x51a8dd82	0x61fdd2d0	0x3ef56891
-	0x6d5d53d0	0xd83646eb	0x1d7a7086	0x7ac52300
-	0x69e4359c	0x7c8058f5	0xf47d703a	0x21b863a1
-	0x608b8362	0xb9a78389	0xa9d2280e	0x16672055
-	0x05501917	0xf2e01be2	0x261a10f7	0xfe455dd0
-	0x902a0cf3	0xbed63a74	0xeb4bfe27	0xab8b091c
-	0x4cd8f22e	0x48dbda13	0xb3d29b0b	0x65bf3d3f
-	0xe9be4080	0xfdbf0a24	0x9181ebdc	0x5faf48d6
-	0xaaf1acb3	0xe2a2aaff	0xe1ae56f7	0xbd475702
-	0xbfbe292a	0xa6133579	0xadfd6723	0x289485b4
-	0x92667c06	0xee16866a	0xfbc71087	0x0cd78050
-	0xfd40dfba	0xc9834441	0x5cfac60c	0x844b44ba
-	0xe1e4d8ac	0xd6775e4f	0xd4f01979	0xab5faf6a
-	0x63e03982	0x7789e272	0xb75dd171	0x39d0666e
-	0xbd90a902	0xa4eebba3	0x2640274b	0xbcedd52b
-	0x87033b15	0x2048812d	0xc13c2230	0xa7d345d9
-	0x84b4fb4d	0xbc0960cc	0x4c7422ec	0x4bff7ea9
-	0x16315057	0x1a9c50ee	0x5441830e	0x61cc7b9d
-	0x2f7cd3eb	0x6ae05c81	0xc264d759	0x4c6dd592
-	0x3d47dbbe	0xf8797367	0x4ae67c6a	0xdb42d373
-	0x0f6a6e9f	0x3d6c6b82	0x16906b77	0x80f7dbbc
-	0x6ee0683a	0x1afb8d53	0x4df1322e	0xc7d489a0
-	0x9d06aab8	0x08c5ebc4	0xd8cf4766	0x0be222da
-	0xd45596ee	0xa8113953	0x1a42b7c0	0xf4de2c73
-	0xe5741505	0xeb9032d7	0x480ab9f4	0x595e824f
-	0xc87c4e6a	0xe636b3c0	0xddb3438a	0x03f6ba20
-	0xd43d9bf5	0x3bbe086f	0x6385fdd6	0x0b9d62ae
-	0x1b9fc458	0xf6d1cffa	0x168ec5f7	0x93c98771
-	0x018c51fc	0x3a6c5880	0xbc4d25c9	0xb90c47db
-	0xccee6371	0x289878aa	0xb63ebf23	0x9fdff591
-	0x863d71c7	0x1301cab8	0xead66f03	0xf8a74303
-	0x91439b31	0xcbfc5008	0xc78a05c7	0x172ddb38
-	0x16254ebb	0xf490cd3e	0x9724bdba	0x915c5eaa
-	0x2d971801	0x672389af	0x25023172	0x69fb7e23
-	0xc5d66742	0xdb578a72	0xbb6fe6ef	0x9ff3920f
-	0x9e04e6bb	0x9bd9079c	0xe70a3479	0x1f423c00
-	0xd3a901dd	0x7fceda2a	0xf1999db6	0xeb73cb34
-	0x891cf0c9	0x55313b9a	0xe74ad3b2	0x98fc0593
-	0x9ec6c756	0x7b84cb06	0xb06c9cf4	0x604b8b04
-	0x112e4063	0xeec6c6a8	0xab9b6bb0	0x33e24999
-	0x14c1cb98	0xac0fdd7f	0x2b9a1d04	0x7fb3667d
-	0xd4375e71	0xe0b840e4	0x1c0789d3	0xe67c6b6e
-	0x00b8439f	0xc0be1ba8	0xfd6bac10	0x3a7e3be0
-	0x3c6a0d2a	0x38eb71ab	0x43711d1e	0xdbce233d
-	0xce91e57b	0x2f386b58	0x88ca7857	0xbe5bf50e
-	0x487a5b5d	0xb6470361	0x91e09471	0x18ee543d
-	0xe1857917	0x60d489ae	0x5d44c618	0xc6f46454
-	0x3cc37b33	0x9f8cf96f	0xd365b8f1	0x721f6448
-	0xdbe1a2e8	0x81651a33	0xcf105b61	0xf4ef4f94
-	0xc4693805	0x801e2a58	0xc932d045	0x6352f5b8
-	0x731cb8aa	0x3b2a6546	0xad87d205	0xa6b41613
-	0x8cc971a6	0x5cb47978	0x86b89ba4	0xb482b4a0
-	0xe326080c	0x821b137c	0x2a154131	0x094b02a8
-	0x56a1868b	0xa8a38181	0x8815878e	0x749bb12a
-	0x8bab2a16	0xfbe0bfd1	0xabef2266	0xd59d9169
-	0x975b6018	0xdb45a39d	0x6e31771d	0xa373d6a0
-	0x214d69c0	0xa4cfc886	0x30a8b314	0x558b670c
-	0x7cb96533	0x9c6c1dbd	0x3bae20a8	0x6a792685
-	0x1a5d6816	0xd085f694	0xcf367101	0x908cc2d7
-	0x9a7eed70	0x1e19978c	0xbf77c25e	0x5098a627
-	0x2129095d	0xcb5c81c7	0xa2888a61	0xc9df4b0f
-	0x0f20511c	0x6a16bb53	0xda26eb80	0x9a0190c2
-	0x372ff753	0xe1ae8ecb	0xe54e1e31	0x967b935a
-	0xd58c26d6	0x7d4a5515	0xa8f41efd	0x737a8b53
-	0xb2a33b65	0x7d04ef67	0xfd491b9c	0xffe6c29c
-	0x54424355	0x50c502e3	0xd8400ac4	0x6f17dffe
-	0x8be39f17	0x6b3055b6	0x20c445f3	0x6cef7ee4
-	0x821cfb2b	0xab19d476	0x540476d6	0xa6d1099c
-	0x223acfda	0xbda49356	0x403d63a5	0x2b83600e
-	0x45e5e0db	0x10323cf9	0x80675f78	0x6acc9d72
-	0xf0d7b6bc	0x122fbbaf	0xafef53d0	0xa606b680
-	0x13e91e0b	0x95a464dd	0x54ae9057	0xf12e1c07
-	0xde806b00	0xce8904ca	0x44ef27a3	0x14f85e0a
-	0xbc1bd0a7	0xa19863a4	0x7bb14eab	0xc3fe7ff3
-	0x1c915fe0	0xfa45a07f	0xab471bb8	0x335918ae
-	0xbc91e280	0xd27ab8c6	0xf79a0fec	0x0d54b501
-	0xf870aaee	0x44c1b504	0x60d2338c	0xe2f01abb
-	0xad4ca3b9	0xe8f97018	0xb3810e3b	0x3f885db3
-	0x6890f6a4	0x8568faf9	0x503d9690	0x709dc422
-	0x11f02c4f	0x57305bce	0xc1e07251	0x3b8b0c3d
-	0x3da8d742	0xe5956aa6	0xf394f116	0x07daa257
-	0xfd5b1b25	0x354b3d77	0xc2587f36	0x6fa8083c
-	0x6b8b8a0a	0x71cebc82	0x799e5566	0xd66e6525
-	0x3d80e29e	0x0a1dd883	0x7886487e	0x5d80604e
-	0xf7533c54	0x53c428c2	0xdb5c0cb9	0x211fbb3a
-	0xc7fd4590	0x409ec2d9	0xce50ff5b	0x142bcc4b
-	0x475f8d75	0xdc4b4f3a	0x1f230600	0x863d868a
-	0x5a8cfd49	0xc761fa43	0xa2ee8f88	0x5e8dbe56
-	0x9a140e41	0xf5c00dcb	0x04786e5f	0x6c2baa7f
-	0x9e4cb1d6	0x4074ee5d	0xbb4f106e	0x9afa4259
-	0xefa345c2	0x806cd3a0	0xf51afbd2	0x653502a7
-	0xcdf6fac2	0xdf756b85	0xb89ef192	0xba0b2652
-	0xea1b3853	0x4edf3f15	0xccaf559c	0x11721dba
-	0x36ab3f38	0x198d218d	0x5bdd7b39	0x3be8d3cf
-	0xea3e6882	0x6ed8fc9d	0xbffeed09	0xe513b75e
-	0xdbb9f2c9	0xf693d870	0x7bed8b14	0xe98cae50
-	0x591d36d1	0xba55333c	0x20048cad	0x7104e6ea
-	0x08a1335a	0x6dc416cf	0x431d8dfb	0x3f4db80e
-	0x3ae3f65d	0xdec93bf5	0xe1773712	0x8b9d6e9e
-	0x7a3599f4	0xa6292450	0xb7b68277	0xe57c20ce
-	0x3cf4eb70	0xf00d3dd3	0x9da300bd	0xa4b25418
-	0x6273314b	0xc5be2c6d	0xf297eb77	0x851334b9
-	0x9eba7308	0x7a015151	0xa3416ae4	0x7c54c0b7
-	0x352083c7	0x5c56ffda	0x1cf4d4e3	0x6ffef4b0
-	0xa8c972d1	0x6db1761c	0x4b2f3400	0xfab16aaa
-	0x437f0125	0x0c3ba2ac	0x89680f6f	0x7e48432a
-	0x0e465f0a	0x943cc778	0x075156f7	0x46249153
-	0xcbc017fb	0x0de6f92e	0xf380bcf4	0x9732a788
-	0x6e01dc94	0x5329275a	0xec971ab8	0xea971178
-	0xc1e3cbee	0xe598c0af	0xc5ca63a9	0x06018d8c
-	0xc55446d0	0x18e04c29	0xd19da94b	0x74536dd4
-	0x9837bbec	0x64bba10b	0xa63810e6	0x2189497c
-	0xfab9e5a0	0xde0267ed	0xbfb94a58	0x377e52fb
-	0xc8f5016f	0xd34b0180	0x2a5e942c	0x2ca6fe08
-	0xfd52fd5e	0xcc2f838b	0x7aeb73c7	0x43832892
-	0x2a44684b	0x0d8a7b22	0x9b84347a	0xacfedd86
-	0x966aed18	0x66eb4a8e	0x890108b1	0xda13caac
-	0x36c0f2c2	0xe2d85d85	0xc51f9f4e	0x9594e1b0
-	0x0707929f	0x63fa9d30	0x2b461080	0x18566f8d
-	0x40e12ea7	0x83e37963	0xa8d0eab6	0xb242700d
-	0xd928ecb1	0x6f5d6d73	0x603f5d48	0x4902cf34
-	0x9a477f4f	0x1b282220	0x3645ae11	0x09acad23
-	0xf772e479	0xd3c5b6b6	0x09abad03	0xdcbffe41
-	0xc971e22a	0x360a0c86	0x102ee956	0x9162221c
-	0x6a59f30b	0x9685277a	0x6dc283ba	0xcffd7ce3
-	0x0e487e66	0xd4dd807b	0x686bd0f2	0xc44a3392
-	0x6422fa86	0x6716d62b	0x2ac73404	0xc88fe77f
-	0xc49b6e01	0x8f011f47	0x5bb1ac5d	0x1d0ba4e8
-	0x7eb0d0c7	0x9db01b4e	0x6cbdaccb	0xd46f1c0d
-	0x96cc24e9	0xdbbaf254	0x9c5c45d6	0x325aadfd
-	0xca9638fb	0x1aeb36f3	0x8be8295b	0x705d0bab
-	0x9ceab5e3	0x5eb5288e	0xd7ec61fc	0x69bb3afa
-	0xad60164b	0xc435c21c	0xeb79ab88	0x145a58f4
-	0xae1e30ea	0x29987183	0x0a2a0432	0x160daa37
-	0x14e295e9	0x978315c9	0xf323f88f	0xe24d5136
-	0xae6ed24d	0x4a812cf8	0xd1e45d3a	0x64894447
-	0xf47d0453	0xb6fb5f02	0x34685ba2	0x8c700222
-	0x4dec7d3b	0xf035a0dc	0x9a802102	0xc3e27d5f
-	0x1928580f	0xeaa68f5c	0x46aad88c	0xfa913719
-	0x4fb0b232	0x3a638afb	0x4cd2068a	0xf26e4c98
-	0xe9da3c5e	0xc7ad41bd	0x3f1cc280	0x1fca9886
-	0xa777ff80	0x1ca76273	0x6a63123f	0x46d87fb4
-	0xd9282597	0xab9e06bf	0x3e244814	0xd9653380
-	0x48ab7d76	0x65d98e81	0x06047ee3	0x29b7ce31
-	0xae94d96c	0x856f9e8f	0x158f1b6b	0x9de1570b
-	0xca4ce67d	0x6f09907f	0xc891e152	0x6867c97c
-	0x02a5b2d4	0xf2e7c715	0x84f6da46	0xd603e51d
-	0xd837b33c	0x70de8d6a	0x598dd9df	0xed29a7a6
-	0x42da0f62	0x893fc276	0x56b43a06	0x949d4f05
-	0x7dde2d34	0x8b3f4c32	0xccc9c0af	0x01fdbdd1
-	0x2a3a3cdf	0xb6763454	0x7377862d	0xb99dd58f
-	0x9ad6cf20	0x2f80a8b8	0xc11b356d	0x4adae4cb
-	0xe808d693	0x3e8605d2	0x005cbfb2	0xfe966e1d
-	0x713b365a	0x4d12fc2f	0x1664286b	0xb5d41f0a
-	0x4420d15f	0x63e106bc	0xc2fe4169	0xe5f440c4
-	0x7fc0ae73	0x35ba3ba1	0x7a228157	0xfc50c107
-	0x2bd1f472	0xa9d03dd6	0x62d1a612	0xf93c55e6
-	0x6677a632	0xcd874d7b	0xa76ba1f1	0x2d82a8a8
-	0xa65e30ef	0xe48eaccf	0x4d7a4adf	0x8c276f69
-	0x0e229210	0x0096b100	0xa039ae73	0xea245d6b
-	0x0ea50d26	0x99b480cf	0x159ea81e	0xfa45f5a4
-	0xafd411d8	0xe1190cd5	0xc9e85cff	0x1e037ea1
-	0xf4be41e6	0x48fd1c6d	0x24d52f02	0x3780b91f
-	0x8e31dd07	0x1d392b15	0xb07e9d5d	0xf05b19bc
-	0x4f52d03d	0x846cf6a0	0x4d51d2e6	0xe4144ab9
-	0xa8f9558a	0xdbea007c	0x770f27bd	0xef95e02f
-	0xc01ba9db	0x8ad80d07	0x039bfc69	0x8f5d2e43
-	0x8640ff02	0x31872f4d	0xb959380e	0x027a8268
-	0xf39dd7d6	0x7c84199f	0x8f977814	0x6830b481
-	0x46495e33	0xd5c68952	0x6f2c3636	0x8de0e29d
-	0xc03f0b39	0xbc54910d	0xfa46af50	0xe81542c8
-	0x462d1ff8	0xb229a9cc	0x6a234b00	0xc96f857d
-	0x0a932f55	0xbd7fcba7	0xf937d965	0xc90cfd53
-	0x2ff150f6	0x0f5a40a8	0x805bfff9	0x92056edd
-	0xf6326626	0xe18371b2	0x9b9ce558	0x252d7e17
-	0xfbb7fdfa	0x3cf275e9	0x8ddc0be6	0x7e83319f
-	0xc61ee1ef	0xee1751d6	0xe267323c	0xd7229015
-	0x4a9cda9c	0x841730a9	0xd924dc44	0x619f2cee
-	0xb5172002	0x210144df	0xf6fda998	0x64f75cb0
-	0x3cd50175	0xdc7d3564	0xad0e94bd	0x18c876d5
-	0x7532124e	0x3b99841f	0x1a2c6219	0xe7d5ffe8
-	0x9f76b0ed	0x63437918	0x2b14f1ce	0x898a1cc3
-	0xfad43f4c	0xde5adcb2	0x8b9d0166	0xb4f2370c
-	0x1d212e4b	0x1f55058f	0x26bc79ad	0x681d1014
-	0xe0ddd0bd	0x4c256b7d	0x7268e89e	0xa422562d
-	0xd7a55326	0x6955e943	0x86ccb09f	0x03133a0e
-	0x2fe2399d	0xd9601d6d	0xdd128b8b	0x182251f6
-	0xa041ce84	0x5b5bc49f	0xbad64d6f	0xa7594fcf
-	0xb6dce9ff	0x69c7e4bc	0x83d16d70	0x41c2593e
-	0x282d55c7	0xcdcdddf9	0xd9855130	0x83fca027
-	0x32379a19	0xf8fa8dfe	0x0720d059	0xcba2a7b7
-	0xeab4e686	0x228601ac	0x660b45f0	0xecde3baa
-	0x4047d983	0x4ced2e8f	0x77aa1d0c	0x7e6cd6a5
-	0x80e06058	0x95d27baf	0x071433d6	0xc7d3d431
-	0x7856634a	0xa1b894d8	0x2faedc1d	0x1e05a846
-	0xa9bc7fa7	0x0ca15e02	0xbcc96351	0xb483c979
-	0x239681be	0x24354ba0	0x5c743a31	0x7ed77958
-	0x20a4d718	0x7b37986f	0x43a9e233	0x02091eb0
-	0xebdbf21c	0xffd2069b	0x6f191684	0x111e2666
-	0x8adb42dd	0xf26db866	0xff83d42a	0xc7d28a0e
-	0xec1bf909	0x10434bd9	0x6404e8c0	0xae30d43f
-	0xf415a59e	0x3daeca66	0xe1be615b	0x04db2d3f
-	0xa53b33b3	0x5fd6479c	0xab5ffe67	0x2cdaaaef
-	0x61087f2e	0xd805a00c	0x11d85656	0xc1ae3754
-	0x1fe38c7d	0x108e2ccd	0x3c6e1773	0x512eb70d
-	0x86142b5f	0x826ec294	0x956a3025	0x8b04e083
-	0xd69cd3bf	0x04f39016	0xf362b172	0x960466d0
-	0x230a3139	0x19378fba	0x335f3518	0x206a29a3
-	0x82465579	0xc1e4684b	0x9ac06746	0x1f0138e1
-	0x875a9aae	0x35ed8dfa	0x030c59c3	0xb3ed8018
-	0x2e91fa18	0x93739c48	0x172ed0d3	0x13722907
-	0x8e4e0426	0x47f72379	0x8bc54eb7	0x8657e9b7
-	0x0472cf9c	0x1424f3da	0xdf83007f	0x87aa810c
-	0x0e14e6e1	0x9d0dcfdf	0x9e7696b0	0xe019c6aa
-	0xa866fc9d	0xc19a1ff2	0xb187dffa	0x220adae1
-	0x16deb6d0	0x57bb035e	0x8084703f	0xabca8b49
-	0x577af6a8	0x520ff09f	0x3d87711f	0x1d2254a2
-	0xe161d5be	0x23287038	0x11722e48	0xdc7c6153
-	0x7e953ad9	0x1797ca90	0xd56bdecd	0xf7973432
-	0x5804968f	0xb688ad25	0xfda5e113	0x584d2c84
-	0xc5c02d74	0x7b6235b9	0x6c1712cf	0xb8ef7795
-	0x26d414d0	0x4b705388	0xa5725233	0x4e29eb6a
-	0x4e2f32b6	0x4996ed96	0x45b98f88	0x67ed828c
-	0x34e7af7b	0x5640103f	0x6aacf602	0x354d85f7
-	0xf6e8983e	0x1468e2dd	0xacae2dcb	0xd3bcf29a
-	0xa176799f	0x57a1bd66	0x7971495d	0x44dfac4c
-	0x32c643f6	0x57cc7b19	0xfee17e6e	0x1505f974
-	0xbaef1420	0x3b930cd2	0x65fd2cad	0x92ce1aa5
-	0x734f0807	0x65a5a815	0xa7124d4c	0x1ad9684b
-	0x32eb33c0	0x761f49ca	0x10b49a88	0xf0af198e
-	0xd7173b32	0x640b00ce	0xd3ffd60b	0x3a92cb20
-	0x71eccf6b	0x7c1c49e4	0xc7401cfc	0xf3f52441
-	0x736776c9	0xe8609667	0x8cbb06c9	0xc821f68e
-	0x827c67ac	0x0a98a704	0xd71e62bc	0x349fe1e0
-	0xac56ba89	0xd36baf48	0x54af6806	0xaeb2f143
-	0x0247d79b	0xfd27b357	0xec131b3d	0xd9fecc41
-	0xfdcb3993	0xec61c159	0x911a6bb6	0x849e85d1
-	0x5e4794d1	0x3c771cb5	0xdbc45603	0x76ef6090
-	0x4bfa505e	0x592b3fd9	0x05509bbf	0x2766b252
-	0xd9b66afd	0xe80fb26a	0x1ea90db3	0x61b1e2e9
-	0x5899953a	0x08c3bdea	0xe6393951	0xd2db7170
-	0xaa7031f2	0x5afce44e	0xed13e406	0x2af7388f
-	0xc6254e8c	0x3a846e5a	0x49de8429	0x56792361
-	0xa9fa85eb	0x4d97a05d	0xbd804c72	0x9e3f10be
-	0x94c6cb39	0x38a2729c	0xf71833f6	0xb9b36d59
-	0x8d7a74cc	0x4d9d5b59	0xaa9a735a	0x4ebac1ef
-	0xf073c9ee	0x38d2ea0f	0x87247f61	0x2e110dfd
-	0xca47846c	0xbcfd03d4	0xea058e96	0x40cb9628
-	0xaea31bc5	0xf39d05d9	0x246bec2d	0xb514efa1
-	0x5861299d	0x148ef9d0	0x1f5e33bc	0x444e79ef
-	0x52d62130	0xf391282b	0x93fcd860	0x6c3065e6
-	0x8a739db1	0x51f6cd7f	0x2da05ac4	0xe8f8b6e0
-	0x48adb62a	0x8c0c687a	0x2dc37ce7	0x993b198b
-	0x31008c46	0x3e509467	0x514a6614	0xca7c1511
-	0x5d3bca38	0x3a8188ee	0xedc7da67	0x3d243fe7
-	0x209f9238	0x03b4bc67	0xbefb5ed1	0x644e60ef
-	0x708021de	0xe7a8f948	0x8ec69a79	0xdde65d7f
-	0x2304f3f8	0x616643fb	0x7343b800	0x102f165a
-	0x848f5616	0xa85d42ef	0xc725fcf8	0x63207a50
-	0xa10f827c	0xd23d11c4	0x9832e62f	0xe7e99da8
-	0x492e1355	0x63882a0d	0xbeb2e2e6	0x02fdc22d
-	0x1a696e02	0x9821f6db	0xadf34cb4	0x2b274251
-	0xc40e4a88	0x7b22d05a	0x42574be2	0x004de66d
-	0xccd4a41c	0xd19863df	0x2f1965ae	0x868d7221
-	0x07cf8546	0x3fba2d34	0xb39e65cd	0x425bf20e
-	0xa61be150	0x191d3530	0x4f975298	0x37e1f881
-	0xd45df57f	0xbaba406d	0x06385459	0x4b105297
-	0x1669f5df	0x0ff8db41	0x258d3667	0x8592fb19
-	0x20f3da88	0x8bc12e8c	0x4247ed36	0x9d6ad7ec
-	0x26128a8b	0xbfd08579	0x084e2fcb	0x9279b5dc
-	0x3a33654d	0x1e40c91c	0x8f0a953d	0xdfd96c06
-	0x8703d737	0xca1f3200	0x60ec2e4a	0xa8814a20
-	0x6d9950a8	0x4b2438ea	0xc6ca6580	0x99f2f4ad
-	0x42dc5043	0x1bec10b7	0xce44a349	0xa6b35911
-	0x3583a4ec	0x65bcf9c1	0xd25c3af5	0xcb72222f
-	0x97cb8371	0x85f75c9b	0x03b1d637	0x6f80294c
-	0x3bdb3942	0x91126cd9	0xd3fbb35c	0x752a7251
-	0x5ed886d2	0x19c91d06	0x7a883d41	0x550a9331
-	0x371f617e	0x61543776	0xaf4b02a2	0xa390ca74
-	0x99d106c5	0x3f8c2d8d	0x01ca467e	0x20e50f07
-	0xa40edcb3	0xdd2b0317	0xf96342e4	0x94a6e3ae
-	0x17431448	0x789ea7b0	0x7bb4fbf6	0x03839d5f
-	0x13f86c23	0xc6efbe86	0x9f891cd2	0x3e3af545
-	0x0b1d0457	0x481e80cf	0x406bd13a	0xb277b63b
-	0xfb5d99bd	0x6fea0963	0x5b48c16e	0x0ac10b3d
-	0xcfd388d4	0xe07a502b	0x4466cac6	0xaa21c31d
-	0x806ba060	0xf175bac7	0xfee9f170	0x38d1af9e
-	0xae1f0f7a	0x6252edb4	0xb23c56c1	0xede12e73
-	0x5747e22d	0xc3b58928	0xaf586774	0x9b6e8b87
-	0xeaf2016e	0xd1fa9a90	0x986a5882	0xdfe68064
-	0x5657ea69	0x237bbb3e	0x01e22722	0xb7bd28e1
-	0xb75d98c8	0x31ecee6a	0x861d60e1	0xebe8bebb
-	0xdc35606a	0x447f0a45	0x9f50d631	0xcaab3492
-	0x76035cd3	0x9d84a371	0x51b55a55	0x263fabd4
-	0x62ff9ab5	0x8b1ee33a	0xdc85e9eb	0x0471df10
-	0x29cabc6f	0x47467a07	0x6ee73133	0x536f5c8f
-	0x15f2a4bd	0x2ad7e8af	0x631a9bb4	0x9ce75522
-	0x228d008e	0x86fc05c2	0x5526b054	0x8db9d95c
-	0xdea2c7d4	0x1336add2	0x901543ce	0x2a855d2a
-	0x4c7e054d	0x967eab4f	0xca5c932d	0xec109941
-	0xf1752baa	0xd4b3a39d	0xd999886a	0x1a6cd856
-	0xb11f6348	0x60a21b64	0xea4467ca	0x51db6925
-	0xf8ee33a9	0xc674ce6c	0x5fa834a4	0x17f2b8ad
-	0x2eab9ce0	0x0ad42708	0xd8a6740d	0x164c4fe6
-	0x1f9d12c5	0x3efb12ee	0xedf0e724	0x7e8880ba
-	0xe9c55084	0xd9d6e9f0	0x8f4ec3ae	0x2d6aaa11
-	0x480e0081	0x28b6c152	0xee01619c	0x79ddd62c
-	0x4b17ea62	0xeda6fb70	0xd3673924	0x02e84486
-	0x4c0d66ec	0x9ab8cd5c	0x340fa6eb	0xf8db9df6
-	0xc72b2937	0xc09cdf2c	0x7ba60229	0x5318612b
-	0x08a07717	0x81cfe5ca	0x32a3b0e9	0x03cc518e
-	0x1085bd98	0x16069e72	0x6aa01ff2	0x0b512345
-	0x5ce6b51a	0xb58b347d	0x0dad3da5	0x7bc5aae3
-	0x81a88658	0xd9857a74	0x4fb95187	0xe03045db
-	0xbe4ddc3a	0x68be74f7	0x9663e4ac	0x4d31a7d2
-	0x7a2a70fd	0x03dde6ec	0x827e2f9a	0x17cf679d
-	0xb34aefe8	0x085aaebe	0xcff354e3	0x18754a97
-	0x10c4a4f6	0xb21d4e04	0x8e93af63	0x226ea564
-	0x6c3608a8	0x9fa96865	0x24f420b6	0x7d4a31e3
-	0xb7852762	0xd1c752f5	0xbcfe1a9f	0xe3cd44ba
-	0x800d6669	0x08455dfc	0x2bbdab4b	0xcc8cb0a5
-	0x268cd5d3	0x2b0cbe1b	0x40cd57e0	0x939c0f22
-	0xb85a1372	0x6c06319b	0x2be94501	0x9e13089d
-	0x2df0027a	0x47bb8a84	0x660234b0	0x6a05c46c
-	0xde9eb668	0x2fbef0ec	0x8e7391db	0x875bd721
-	0xa1e55bf5	0x31dc45aa	0xeb0fa893	0x36f0fbf8
-	0x8edacf6d	0x61c11564	0x9fe655fc	0x34378418
-	0xe032bb0a	0x5e996c49	0xaa576bb3	0x88f1f99d
-	0x08562a6b	0xa4d7900e	0x3d124350	0xf10984ba
-	0x65af441f	0x8329eb45	0xfa1c3069	0xd9c18941
-	0x6bf28004	0x32d89f25	0x107ae0eb	0xf23bea70
-	0x709b7c6f	0x7f6bc1b7	0x6829a1cb	0x770fec21
-	0x6dc4d64e	0xa37d7219	0xe5551a04	0xcd470067
-	0x81d6207e	0x81bc2a06	0x5330dc76	0xbe8b6aa2
-	0x5080f90e	0x7f393edf	0x37194036	0x1b19bf9e
-	0x4ff560fc	0xeb207634	0x2fa526e9	0x9c48acd4
-	0x9b9be6b0	0xfa749280	0x715fb587	0x50287f59
-	0x04bd42c6	0xf8674fd2	0x614fde7e	0xf0482894
-	0xa402a285	0x54813092	0xf50e474a	0xfa420315
-	0xfe7f82a9	0x835dbfdd	0x08540acd	0xabba517d
-	0x197c438e	0x3f69c2c6	0xdf1b60b0	0xbcc4b1c5
-	0xbb967e53	0x8a2e2be3	0xb78406f4	0x6cca685b
-	0x2877516c	0x3159fdb2	0x3f48f0a2	0x88c2ed5a
-	0xe8731530	0x227413ef	0x50b5610e	0xd0e7d76d
-	0x68b8a8e9	0x2f251606	0x0ba3ca68	0x3f470646
-	0xa473b7e8	0xa36ec586	0x0f41792e	0x4ef380fe
-	0x938d7626	0xbdf5914a	0xde6b5c26	0x26306e15
-	0xfbb123bc	0x9cd3a83f	0x5d621b36	0x9c391ee7
-	0x0921d18e	0x261a36c2	0x28cf5843	0x1b65db1b
-	0x28cf152a	0xd1308452	0x6aa9803c	0x8f11c7bf
-	0x42797ebc	0xd02410f3	0x56b4c779	0x22e788d9
-	0xc3fee627	0xa1673ded	0xa389d31d	0x47563835
-	0x4e963ba3	0x2acbc139	0x70da7525	0x39b3ada3
-	0xdf20f92b	0x1ff80e87	0xf847db4c	0xefae0a2b
-	0x42139d4f	0xd311a9d8	0xc54ccfcb	0x3b7c939c
-	0xb2eefc73	0x4908680b	0x30f160ab	0xa15abe60
-	0x31cdcc4b	0x2b5d457e	0xa264ccd5	0x73dfc993
-	0xa75c34aa	0x1b302cce	0xd5c93553	0x6982ca4f
-	0xf83cfac6	0xb1235d67	0x25780fb9	0x78af4f8c
-	0x76b1412e	0x139afea7	0x291cebe3	0xbd275519
-	0x18c300d8	0x33502f82	0x86f1d060	0xc83323f7
-	0xc8d57b77	0x928a2c82	0x9ba9d389	0x4942f49c
-	0x04c5abcd	0xc5fa8ab3	0x3e4936d5	0x6c5a6c16
-	0x69f97f82	0x277e2c29	0x4f5a84b1	0xcc546d60
-	0x887d8de1	0xbe980c48	0x6fb583bb	0x8f0dda22
-	0x64ed4be5	0xd3be3a6d	0x615532b2	0x260b87f7
-	0xb54915d9	0x9222464c	0xd447b5fb	0x08ef3c9d
-	0x1e68ebaa	0x16d60b49	0x67b5c5af	0xef5d90fa
-	0xf2fd3185	0xdb03838d	0x17ffffae	0x43304284
-	0xabdcf858	0xfa019d66	0x80a891f8	0x4b2898ac
-	0x676c113d	0x711d2b3c	0x59323717	0x912dbb50
-	0x55afd393	0xde134c0e	0xaaf1d1b7	0x97975a07
-	0xb66e6cab	0xfb0f54c1	0x6dae6384	0x04405a5b
-	0x95df053f	0x125f371c	0x6656c332	0x5801265f
-	0xcf365f00	0x31c300a5	0x2a7617ca	0x65ce79bb
-	0x4cc96bed	0x1af82f49	0xfefea103	0x49054f1e
-	0xb9341875	0xb37952dc	0x1db40d2e	0xe23154e5
-	0x5a4e8bcd	0xed67b774	0x6639eb56	0xa4b3a6f9
-	0xc0918496	0x295261ff	0x08b0f294	0x54573333
-	0xff925b65	0x7872e916	0xbd5552d8	0x5d72050d
-	0x1cf126d7	0x9dfc6d65	0x3b107698	0x0b9f2951
-	0xeba14913	0x5c065af1	0xb5dd50ea	0xbe47408c
-	0x3c9da76d	0xbafbaad6	0xef2b0118	0xa97bf92a
-	0xf2d0b2d6	0x39c8bf7d	0x3017810f	0x35583abd
-	0x2f430d70	0x7d08a9a6	0x4304c566	0x295fbed9
-	0x07412bc8	0x833dd8bc	0xf086a3c8	0xf0836418
-	0x85985a3a	0xd620dec9	0x3c81fc7a	0x08fbadb5
-	0x55d56912	0x6e63f48a	0x3e178cb9	0xaf43c5d2
-	0xce83c97e	0x0b59010c	0x7806f1e8	0x5ceda01b
-	0x0cbfd565	0x1234bea9	0xadf6ad5b	0x68c5c83f
-	0x7b5ceb7d	0x55bcd3f5	0x1e1fe06e	0xe6c9bce5
-	0x95b5563d	0x0318973d	0xc2c4b750	0x8297ff40
-	0x1223837b	0x8264fea3	0x1e9a70df	0x69ed57ff
-	0x9598bb0d	0x1647c7a6	0xc2f1e9ea	0xc47f77d7
-	0x5e088380	0x31b7cf46	0x7aca1985	0xea1bcad7
-	0x058afbcb	0x05929ff9	0x2d5c85fa	0x19b2eded
-	0xfb6bd501	0xa0ea0987	0x4b8dae5a	0xc9bc0d84
-	0x2d1841ff	0x58b4bbb3	0x5f3494c1	0xce489fcf
-	0xf048eee3	0x8a146cfb	0xcb5d2fce	0xf24dc8ab
-	0xac9a22f4	0x1c0e8be0	0x8f1982e2	0x979abeb6
-	0x2e61de90	0x7096ecd1	0xe6326066	0xf6b2c331
-	0xc8035863	0x23ac48f7	0xcc6a8a96	0x6d2a847c
-	0xe3cd2dfc	0xcb224f09	0x5274254d	0x1052513b
-	0xdd244a04	0x2b583887	0x24b623f9	0x1cde29e4
-	0xf86fdcab	0xf3fbee4a	0x34804cb5	0xe4d2d1be
-	0xe3ee0459	0xba8e1428	0xd0d61467	0x493d74a8
-	0xda33b30c	0xef080476	0x6c4f86a2	0x3917c5f6
-	0x14052bd1	0xc5d10f70	0x3eb72eb5	0x2939b07d
-	0xcf722a48	0x330615a8	0x797bfb7e	0x9c604abd
-	0x612ca005	0x716bdbee	0x8098f5f9	0x4a591363
-	0xbd89a21f	0x5e3787ea	0x2acbffa1	0xff907f14
-	0x42ca9221	0x4d15a235	0x76d4e9bc	0x2080e33b
-	0x6437bd3d	0x3d5b4267	0x9ac9655b	0x857b5a56
-	0x8db93b3d	0xe1c45c90	0x0872b3e1	0x4935532b
-	0x314c8628	0xa43c7d03	0xba6468b3	0x93056b1d
-	0x60e61ab4	0xb6995957	0xcd37b047	0xc50cd92b
-	0x259a8690	0xc78684a3	0x96384186	0xd9bcb24d
-	0x31b39f0a	0x0fbbae5f	0x869a70da	0x80f0714f
-	0x50070cea	0x2643b25c	0x164c01e3	0xc77d8624
-	0x48f047b4	0x0cbd2c71	0x4c0b13b2	0x667fc4a4
-	0x848c28cf	0x05443953	0xfdbd5329	0x3aeae7b7
-	0xeaa0de2d	0x498be6e8	0x9663391f	0x8d55c785
-	0x20c68ab6	0xfc7591cc	0x5f757324	0xa30d684f
-	0x6ccb9c33	0xe90c74ae	0x488bc0dd	0x08231a14
-	0xe253a7fd	0x9196b1cc	0x25a54296	0x0f70ba47
-	0x9ee0a233	0x43c2e7bf	0x2d927857	0x1fde792e
-	0xc0598134	0x7aac6123	0x39da69f7	0x99233284
-	0x5894e482	0x396fb16c	0xcc554518	0x61784cde
-	0xf12b0d7d	0xf1e7ee64	0x53a93eaf	0x142d292c
-	0x52c36ba0	0xd9037d20	0x9eba60f0	0x4a041620
-	0x5462a0d2	0x9ae6663b	0x0a5dfe17	0x9307f8f7
-	0xc3532fd2	0xd20b3393	0x82d40f2d	0x3b139fca
-	0x6ec0948f	0x1434629e	0xa529a79f	0x3a607eee
-	0x07ee780e	0xa407a5ac	0xbad8d686	0x888401a7
-	0xf221e944	0xe8ba61c6	0xc3caabc4	0xd610be89
-	0x0e5432fe	0xb38b44a2	0x65a48b8d	0xcc044491
-	0x253a116a	0x96c20a3a	0x13bf416e	0xbd80a231
-	0xc94420a6	0x8ffee6ea	0x35bd2c90	0x39bbc314
-	0x762981a5	0x7217db3b	0x8ace0761	0x31e2506a
-	0xf1d679eb	0xab0b8a9b	0xaaff2f04	0xf40502fd
-	0xe56aa165	0x418522a3	0x2fb1212e	0xc25102c4
-	0xae39da06	0xe708d400	0xfedfc55d	0xcf13fc39
-	0x77cc3ff3	0xb70b7ee5	0x57e2732e	0x54eafd32
-	0xee513833	0x2f2f685e	0x17c8b664	0x4b22ab02
-	0x684951ca	0x67844071	0x27c3c09e	0x36f129d3
-	0xf5d71bbc	0x251d6129	0x6cd71b6a	0x975e1d42
-	0x89142f16	0x6c250a42	0x9058209b	0x7f713bc6
-	0x7bfa7c2c	0xe6a5a5cc	0x90a74d5f	0x79902546
-	0xd43e0042	0xc3b12519	0x2afa12af	0xf11aadc6
-	0x5ee59722	0x802b403c	0xa282210c	0x7658c843
-	0x88a81f68	0x25b8fcd9	0x967d3058	0x1ecbeac8
-	0x9b1f0dc3	0x16dd19ac	0x3c279aa7	0xed5c8077
-	0x2c03b915	0x3b0cd605	0x3677eef0	0xddddb73e
-	0x407a5512	0xb8cbb129	0x7d6f0f97	0x96e41ef0
-	0x7d1bbca8	0x7fa26a3b	0x025ed42a	0xceea965b
-	0x4a10020b	0xc3c47832	0x171644f2	0x75baa013
-	0x436abd20	0xc7000fa8	0x03123e13	0x3b80f711
-	0xee4401b5	0x34bb57b4	0xb7fd072c	0xfb5cb343
-	0xf6ed3bc1	0xd83b2953	0x9285bbb6	0xb9e9afb3
-	0x23ef8322	0x46111ee3	0x1b5ee880	0x994b4698
-	0x11348ba1	0x358ca0d0	0xf9e1e517	0x58150115
-	0x31b69c9c	0xb59d1a14	0x736d1af4	0xa2b6fb4f
-	0x6df398ad	0x5f5ee1c6	0x499e00ab	0x65024633
-	0x32af0af6	0x61aecdc3	0x19dc2376	0x061c1132
-	0x09eb3e31	0x53edd271	0x280ad517	0x167d6297
-	0x11da637a	0xfee5d512	0x86ba451b	0x9ac4dd03
-	0xae09fe4a	0x011fb154	0x5dde9f8d	0x66b77ebc
-	0x348f5dc4	0x89d838c5	0xd1076c44	0xb7207c6b
-	0x288ef144	0x4ddbbc30	0x8ab3181a	0xb3a9cd9c
-	0xe8da4c2f	0x5f51ea25	0x25698b3c	0xe5d8be42
-	0x9033461a	0x08ab6b56	0xd3ef4e5e	0x22fef14c
-	0x40e6cbd2	0x8023d0d9	0xd3624fa1	0x05058ed6
-	0x7f9e29d4	0x2d679020	0xbd8a9438	0xfc2c7ae1
-	0x43ff62ce	0xa5c960de	0xca118741	0x1d3ff652
-	0x7aad82fa	0x7e05c2b1	0xaa60d6b5	0x1b44c011
-	0x3d8ed489	0x33e5569f	0x954c9df9	0x6a3f3eec
-	0x185e0868	0x0b261932	0x4abcec9d	0xe91a01b5
-	0x2dcb391b	0x2623c791	0x4054eeb7	0x39f859cf
-	0x838a2034	0x89b408d4	0x58976dd9	0x130dc93c
-	0xd7c36f4c	0x65a57934	0x87364549	0x5e9e1b78
-	0x598c3e00	0x1267d53c	0x12655bdc	0x757ba8ec
-	0x20897226	0x121f8469	0x4db11ce8	0x6c4457ce
-	0x408c5799	0x0dafde84	0x34e803f9	0xe6c40be2
-	0x76601d29	0x6f382889	0x60a7602d	0x0e9f8f86
-	0xd02bde01	0x6bbe40f2	0xcfc7e18d	0x18bb288d
-	0x7693588d	0x93b5bf2c	0x257a886d	0xa444942b
-	0xddc30b6d	0x0c733fc6	0x59c7fb0c	0x1e7428e1
-	0x00e95317	0x8bb2b789	0xd1e8d918	0xe79d96be
-	0xcdaecf72	0x1f10292f	0x8550150c	0x3ac030fb
-	0xa740ed6f	0x86ca944b	0x1cb36602	0xb7a210bd
-	0xe3943a61	0x3a6eee17	0x26e3c293	0x48587d54
-	0x2e3c250a	0x9f5139ca	0x4ba8e861	0x310f187d
-	0xf30ef633	0x96708592	0x2c8219ed	0xba807709
-	0xb84d2c21	0x683d5e31	0x7c73d54f	0x20a9f6bb
-	0x8c571bfc	0x18f513b3	0x983064fd	0xfbc61cd8
-	0x34d473d7	0xe0c16341	0x3a51b21a	0x3f7ffd24
-	0x33d20d89	0x92ed2b84	0x711d3f75	0x4437d1d2
-	0x19ffb997	0x03fc59d2	0xd73c4ce0	0x1c048be1
-	0x3e1c70e6	0x2132c8dd	0x96883172	0x9e7ceb89
-	0x03c9bd60	0x6a288f88	0x9b69b2e3	0x21de2320
-	0x7ec42f80	0xfa9c1431	0x421447e9	0x82b422b8
-	0x691d53b6	0xe5adfacd	0x58d1fd02	0x5e66ac2d
-	0x1020615a	0xf1a5aa71	0x9ae9f314	0x61a8780f
-	0xfd35d0c2	0x6d0acb7f	0x8665a3cc	0x638dfdae
-	0xf77cd507	0x9e896caa	0xf023fe26	0x138ad408
-	0xd4a3d2a9	0x20392108	0x4e259b7a	0x294084a2
-	0x353ddca7	0x6b4e0d0b	0x2ecb3b7f	0x2e72b5f6
-	0xbd09b0dd	0x4de2ddab	0x27bbaf57	0x93c0044b
-	0x0c9ff149	0x5e06496d	0xae665015	0x422e1608
-	0xfb06c77c	0x7f49815c	0x74b36569	0x97c6b34d
-	0xb2171d9d	0xd85c83a7	0xd95e5cd4	0x474b6faf
-	0x4276a8cc	0x3eebf9da	0x373c9404	0x0fe5b125
-	0x2140e5d1	0x99fd5df9	0x1b624b9a	0xd277f04d
-	0x57d365a0	0x49fef587	0x1e8c3af0	0x4d827485
-	0x075a70d4	0x75569578	0x9d03ee73	0x2956bfcf
-	0xc45c3dff	0xe15ef324	0x4389e20b	0xb2b6a465
-	0x863fbaf3	0x7503fb46	0x41d8f4c8	0x871f04e5
-	0xb677456b	0xc806932d	0x99d586ce	0x94ad33e6
-	0x996a43b8	0x4c7ff253	0x441e68ea	0x3f2454f6
-	0x7b33925a	0xed5a56d7	0xfa40f2f5	0x3e7a60f0
-	0x45bae53b	0xc3237b7d	0x3d6fe60a	0x7ef17115
-	0x6df8dbb2	0x26d1240a	0x7372d23d	0x5767532e
-	0xa72e2c58	0x2a0d2f14	0x74d029c2	0x1bcf8b01
-	0x513dd7e4	0x800a6440	0xe0f3a8be	0xf951cd2a
-	0x5795eb8e	0x3384450b	0x46e7970e	0xb4434ac3
-	0x468194b1	0xc562555b	0x76d9cb19	0xdf109cad
-	0x57f1ac2f	0x1207af15	0x19d7cfda	0xfb4c069b
-	0x306802c4	0xe8aedc76	0x0170ab97	0xd19b99d6
-	0x7fe69394	0x60b6dd20	0x184caddf	0xd4c81b0d
-	0x008ebffd	0xfd615c94	0x813a5a30	0xb3386934
-	0x5c54130d	0xbe0a6b6f	0x91b127cb	0x7207bbff
-	0x176cac26	0x450be167	0x53563516	0xd6f5ed1b
-	0x90ce178b	0x80e28eba	0x4ddf538c	0xb8037a72
-	0xceaaa6ff	0x3e0eabdc	0x2af375b6	0xfafdf3bf
-	0x24bb3630	0xbcd6da54	0xc59375ce	0x4e9d08c9
-	0x7953057e	0x81ef3d8b	0xcb641721	0x8fb73300
-	0x07f1dd2f	0xda12a374	0xae008fff	0xd106aaac
-	0x5a4f59a3	0xe01bd4ef	0xe1ff2c4e	0xd58c4500
-	0x283e8041	0xb2c7ec64	0x81077f24	0x304fd646
-	0xb5554330	0x098fe673	0x9e5976ba	0x2e24c1c4
-	0x3dfad07f	0x3d64fa0b	0x78a9c65f	0x282c343f
-	0x755810ff	0x363e7150	0x692be96c	0x62cc0559
-	0xb7b9e8c1	0xe35abebf	0xf28d706e	0xea9b31da
-	0xd4762701	0xce0654fd	0xc10a087e	0x0ee813cc
-	0xc66364cf	0x56a8143a	0xb8eafc6c	0x085125a4
-	0x758752b3	0xfd8df76e	0x483c550a	0xc155fb38
-	0x20188374	0x118c9519	0x2e1dad79	0x45b648e2
-	0x32eea6a4	0x73373bbd	0xce78e1b1	0x49b6150b
-	0x826f31d7	0xf5b27772	0x76467cdb	0xab248975
-	0xc98c52c2	0x331e7992	0xb7ca3cb9	0x65fba8de
-	0x8d9df126	0xafb34641	0x83627ecf	0x4f6f5711
-	0x0a18b1bd	0xbf9f7e56	0x5b532a14	0x2c1c7f27
-	0xaaba76a3	0x0019b4c1	0xad0dec08	0x0a090710
-	0x9d092403	0x4b7f63f4	0xdda21492	0x5ac79d8a
-	0x53636303	0x8baacf07	0xd0e54e2a	0x06af65bc
-	0x1776250d	0xe3b7a745	0x3ed99c2e	0xcdfa72f1
-	0x28e2c19c	0x972ed696	0xc40238be	0x2eae4108
-	0x16dbeec2	0xe5aab504	0xb752b0ec	0x908c027a
-	0x5d6706f5	0x5dc64b1f	0xda6012bb	0xd823ba00
-	0x21227a10	0x99c8a5f7	0xe13e863c	0x7271ad65
-	0x37341fc0	0xed4f202f	0xe9394896	0x8c51a222
-	0xc730618d	0x61f38ac7	0x077bbea0	0xf7068ed0
-	0x9fe0eff4	0x09f20a63	0x692cb600	0x965b334c
-	0xe4d16d0a	0xabfd76d4	0xcebb865d	0x52ae79e3
-	0x54be2cc4	0xcada0fcf	0xdc531eda	0x0f6f5a07
-	0x45c26e9b	0x1b65c5da	0x747e35ce	0x28e8f353
-	0x8b14a4dc	0x70fec472	0x386766f5	0x452ec69d
-	0xea3d1060	0x4ad0a84b	0x74947e04	0x241d736e
-	0x67087154	0xa8429f6c	0x93f6fa81	0xc8ae48e8
-	0x8bc37b91	0x3c412b3c	0x5a9b6ea0	0x77b1267c
-	0x4e654c9e	0x3af8be15	0x0c1fcc1a	0xdd53e911
-	0x4133f74d	0x19b478ea	0x935059e6	0x602d1c43
-	0xef2f0dc5	0x606c328e	0x3bcb34f9	0xd3e43917
-	0xa4b13432	0xe32ca0b7	0xe72cf4f7	0x89e64046
-	0xf7665787	0x0e2ceb68	0xad0326bf	0x0df255df
-	0xfbe35bd7	0x452ad738	0x151ded08	0x4977f8b4
-	0xfb0d8ce6	0x55ba4d5e	0xacc482b6	0x685f74cc
-	0x483dcc86	0x09346c6c	0x1bfb0413	0xc8454c50
-	0xed0ab7fb	0xbd60dc85	0x2d4ce7f7	0x7e374d17
-	0x97c4de4b	0x8e241f8e	0x0c63ba83	0xfe2b6605
-	0x0d16e6b6	0xd2b65dc7	0x574904d1	0x57013653
-	0x02bbbb72	0xa1a951e7	0x2e06e4c8	0xaf8a0ce2
-	0xe45132d5	0xc335004b	0x7a80a191	0x70abfb32
-	0x0e6dae78	0x47ae882d	0x2ffb0f2c	0xfbfb1549
-	0x3f5d2a7b	0x9df9be34	0xb69b7919	0x051a54d4
-	0x3e7822d9	0x83f3988b	0xf4f6a380	0x382ec90d
-	0x19ec37e6	0x41da0b90	0x63edbfe6	0xb53fca2b
-	0x4117bab8	0xe711495d	0x93b066cf	0xfa436ab7
-	0xafeb2443	0x842a6a7e	0x92dbfd01	0x5536c8ab
-	0x87706182	0x95b19ae4	0x20a5243b	0xd17d6e3a
-	0xacc705bc	0x02124f77	0xcdd25a60	0x27f2cfd0
-	0xab63270b	0x5d0d50c7	0x626b463b	0x8d1c6c67
-	0xcd8faed9	0xdec15e02	0xeead3ca7	0x35e6b1b6
-	0xa3404975	0xa40c4d99	0xba2aafa7	0x9fd543c8
-	0x737fca65	0xf825b862	0xed028145	0xa19ab5c0
-	0x7a5cf4c9	0x29275a49	0x4e70bfae	0xa68d7af7
-	0x4027d4ad	0xc0f1f772	0xb1857bf2	0xeff36b41
-	0x1cefd1be	0x609569f1	0x5e4a45ba	0x3982f52e
-	0x2662da23	0x9995e160	0xa5236c1a	0xfc3dbe22
-	0xe2cf629e	0x1927e9bb	0x890c2c5d	0x9b1a74a5
-	0xd98da36d	0xd6394f24	0xea08f3ef	0xd7543732
-	0x2c08cff2	0xb338420e	0x954ebee4	0x8f62faf8
-	0x30001084	0x6209f495	0x4bf3151d	0x549fe524
-	0xf0a233cc	0x3d9520f6	0xc3bb7564	0x724bf6b8
-	0xf0364758	0x8c780cc2	0x85041d68	0x004c18d6
-	0x7e1b0aed	0xe515764b	0x3f646ea8	0xfa14a4d7
-	0x1d197044	0xf3eddc81	0x8aa91a1e	0x16256c4f
-	0x8199c0df	0xbf9a50ac	0x568a0f09	0x2cb00264
-	0xd72fd139	0x2705356f	0xcbca00f3	0xd1d48350
-	0xd9ea820e	0x8cef5c8f	0x208f4413	0xa8cc4af4
-	0xd3925d45	0xcacb25be	0xf5c478f0	0x2d98856a
-	0x9b2ca15c	0xa866f9c0	0xd11e9a8c	0xecf63535
-	0x26afb8e5	0x07582187	0x68e92d2c	0x701732d1
-	0xcfa17e9d	0xcb923dcc	0xc6fd0935	0x2949f3f7
-	0x2f819c1e	0xea483296	0xb234a335	0xe3e174f1
-	0x2e79e24c	0xcebb3426	0xc7b11c2e	0x09c50c12
-	0x1a776bec	0x9eb75be2	0x906fc75b	0xa951a0bc
-	0x067984cb	0xeef41487	0x592d71bb	0x6d830d75
-	0x9315da53	0xfc4a745d	0xf55687dc	0x41d554e7
-	0xd9f4873c	0x51680147	0x70a32832	0x514a6b9b
-	0xdb221d0c	0x5d8a04f2	0x56d0d2e7	0xea241411
-	0x2fddf98e	0x4f114da4	0x5b08dece	0x4a1deb72
-	0x8a05c6d7	0x5412556f	0xb34099d8	0x769a94dd
-	0xa5e5f79d	0x2aeed8ec	0xb2c36124	0x4049a237
-	0x14984601	0x1a595742	0x64490292	0x630c8cd2
-	0x55e6bb46	0x6a0d06ab	0x2b0b11b4	0x7c616e40
-	0x88ad3ace	0xd51e4e32	0x09b91afd	0xe7e15aeb
-	0x0050ef89	0x4330509d	0x12cb2d58	0x8aa65df5
-	0x6a3a7bfe	0x13110a63	0x6e0321e3	0xe00dafca
-	0x71e02a28	0xbb179946	0xa46ec287	0xec8a407f
-	0x71e4ecb1	0x9aa3eaf1	0xccc68628	0xc593d002
-	0xadc7003a	0x4266b50b	0x3c1883ee	0x6dccb885
-	0x417c946d	0xbed06b8c	0x333c5aae	0xb05e54ee
-	0x16d7a8d5	0x2c4711e4	0x77f99748	0xea4f1ce3
-	0x99077ba5	0x3efe0258	0xd6df1959	0xa68402c4
-	0x17fb46f9	0x84dd7f43	0x2743ad55	0x4c3618ab
-	0x066e70fb	0xa7ae2740	0xabfa9383	0x3550f323
-	0x12df0416	0xf1453568	0xa72e19a3	0x858f6f03
-	0xf17cc616	0x4ae587bd	0x18a72aff	0x3a7e96e0
-	0x742fcbfa	0xf2978c0c	0x1c9b4647	0xead5df7c
-	0xa4006862	0x4ff1f7ad	0xad9ef88a	0xf2e10660
-	0x408e1435	0x54fce4ac	0x3b362a56	0x31215f74
-	0xaa3c9bda	0x9e20dbdf	0x0d5fce6a	0x282c976f
-	0x0edc8226	0x373f111f	0x3e98c061	0xf268555d
-	0x2bc94957	0xaea989d8	0x509c71ba	0x12314a4c
-	0xf763fd18	0x756c083a	0x210052bf	0xc8a587ec
-	0xad316f0b	0x8bdc25ef	0x97d826c2	0x2b2274e0
-	0xb2d83dc0	0x758a648c	0x98f048ed	0xc049ee18
-	0x86a7ae90	0xb2cd2e74	0xbf05a5fa	0x99569e00
-	0x91ef2ef3	0x0fa73191	0x8fbe0377	0xd833195b
-	0xa8f92c91	0xd5180d87	0x78e66404	0xa6932c29
-	0x63767065	0x212597be	0x71443fa5	0xc7f0f7e7
-	0xee005d0f	0x3f554ee1	0x0ce921c3	0x11f7aa65
-	0xab833603	0x226583ac	0xdc02270f	0x582acced
-	0xe4873a4e	0x4789f1b5	0xe4556ae0	0x2db116e3
-	0x4dcf008e	0x94848eef	0x33dd4850	0x763ee311
-	0x8d129dec	0x37584ab5	0x2a72a7f1	0xc3812cba
-	0x8b28d2f2	0x0adb3ef1	0x77c139ed	0xa024d006
-	0x77b56ff4	0x237a0ef1	0x70c06866	0x3f678b49
-	0x758b3ce4	0xac6fba3c	0x425f5226	0x736cb61c
-	0x6d33908e	0x2db271b8	0x57a0b9e2	0xafa0c8eb
-	0xe16670ac	0x01358d54	0x291458e7	0x20dbb518
-	0x750ebeed	0x3b7ce363	0xab142fda	0x2f827c5c
-	0xe4b63c2f	0x25b21550	0xd9a7d8a4	0x9a0d0235
-	0x6ccbe996	0xbd16a832	0x408c6b6e	0x264e7057
-	0xf76251cc	0x10b292aa	0x44e35c08	0xe10072a1
-	0x8496f9f9	0xf3f14db0	0x903e0d04	0x437cbdab
-	0x94bba5f6	0xd93cb547	0x6c8c5b9c	0xdaef1d7c
-	0xc9245303	0xb8327055	0x17b4f91f	0x9609ed57
-	0x276a2fef	0xd6547d96	0xd845e2a3	0xdb17e11c
-	0xe06b1865	0x91ac2801	0x7499b2bf	0xfcc13e08
-	0x4d2c3ad7	0x33f551e1	0x7d9409c7	0xafc9eb56
-	0xd1b99328	0xfb86b03f	0x386621b1	0xc937917d
-	0xd049796a	0xb61b9848	0x6e6c850d	0x9acceebb
-	0x2335fff6	0xba4cc878	0x71410231	0xe2f8c5ab
-	0x9af0d19d	0x28ec5cf5	0x756ac8b7	0xbef10a49
-	0x0845244c	0x1d73e741	0x9062b8e2	0xda4ff7ed
-	0x02b84967	0x1dfa2bce	0xa39fde98	0xb9754114
-	0xf1d1128c	0xfe4a89f5	0x7f752ab4	0xc079051f
-	0x9d280392	0x8e4405b6	0x9a78116b	0x93ccc928
-	0x9423c484	0xd9d02b55	0x8b293206	0x4e1ba855
-	0x8b163dac	0x86097281	0x5fed4e15	0xa3a9986f
-	0x6aceb1fd	0x9840a4a6	0xb9159ba5	0x43a6a036
-	0x48c6b148	0x741b03e3	0x2034fa35	0xa2238e26
-	0xcbd2d186	0x543a2254	0x52bee0c4	0x3d86f09b
-	0x91b2c0f1	0xbcc3b745	0x2f74849a	0x0330c741
-	0xbe83b31b	0x2be0b1e3	0xb5289590	0xd70e1559
-	0x575ed5ef	0x26095dad	0x243db065	0x7deef6bb
-	0x65d12981	0xed493443	0x8bbb1d52	0xad9cceeb
-	0x9d2347e0	0x6cca137f	0x17470bbb	0x7e3c2e70
-	0xf8f031e4	0x089ffd36	0x54188a4b	0x0da3ca59
-	0x89502f42	0x118865a6	0x188d2f03	0xbab32122
-	0x8b7dce7e	0xd560dcf2	0x3b664c1f	0xc75878ec
-	0x24483e82	0x5f98c3ad	0x30f8edb6	0x750517a4
-	0x26b74663	0x4a92cf2c	0x34142eea	0x74434b26
-	0xef952153	0x499bb195	0x0eef898b	0xc87096df
-	0xebb06a79	0x6f85e09d	0x61582c0d	0xf067fa23
-	0xe800ddac	0x5d94560b	0x7b3c3438	0xf8656d92
-	0xbb2e740f	0x3919d1e9	0x4ae59719	0x9884c38e
-	0xab33c8f3	0x2b6fe11e	0xbb918fe1	0x78b89ddf
-	0x28ff265a	0x8d1be42f	0xc7ae521f	0x59021a63
-	0xc8feb2b0	0xf4adb84d	0x1627d0ad	0xdf2f54b9
-	0x6c34378c	0x19905a68	0x751ab74a	0x4ac834b3
-	0x0482a8a0	0x3fa5727e	0xc67e56e6	0xe9a7fa62
-	0x138c624b	0x8cfa9421	0x777be58a	0xa77e4a9c
-	0x317880c6	0x784adbec	0xf24af624	0xca7b14cf
-	0x0733ca3a	0x4df8fa2b	0xe737de97	0x8221ad28
-	0x12318567	0x1143d1b5	0x6d785e96	0x96b4706f
-	0x62b54a94	0x2cc3c8f4	0xf4509cba	0x013b1838
-	0xeb30c28f	0xafdce478	0xb079b9e2	0xf7fde255
-	0x369de668	0x51eaacb3	0x1a4857b1	0xdc155799
-	0x14312bb5	0x88e95615	0x3baea03c	0xda51f1b7
-	0x2ba9c897	0x02acb260	0x45d16629	0x69f4125c
-	0xb814d67f	0xd9371fdb	0x2abe9516	0xcb4347a5
-	0x8499fa6d	0x548d5caf	0xeaaea9a8	0xd2050d3e
-	0xe7ffd097	0x1343ddc5	0x2c063604	0xd4860459
-	0xe97d7e58	0x2b039549	0x7f9abb32	0xce9ae49e
-	0x6a9f2bc8	0xf42c6e74	0xa2cc44a3	0xa586ee59
-	0x9468aff1	0x9baa9f44	0xc672fa47	0x81af898d
-	0xbe2e0747	0x2568ec6c	0x5a297908	0xa3a45a84
-	0x86e7b0c8	0x25d653d0	0x2e1dd924	0xb8b8401d
-	0xb6132a11	0x63380a89	0x70457a9c	0x5599343c
-	0xdfe56efc	0x7347c609	0xd2a0254b	0xddb9eff8
-	0x2ff89812	0xc3fb0b4c	0xaabcb56d	0x8ea167d7
-	0x3058af81	0x90c13947	0xd2d066bc	0x9187a7c2
-	0xea3f4bc7	0xde558f0c	0x553387c2	0xfe52ae90
-	0x55e9dfc9	0x280c76a9	0x22029fbb	0x695decb6
-	0x37e156cb	0x636cd8d0	0x314735a1	0x6b97c31e
-	0x5990da35	0xa36210e3	0x731aa846	0x3e9f4591
-	0x1c311983	0x1b05ca14	0xd26366ce	0x35108fc6
-	0x6ec7c06a	0xe5479ece	0xabda431a	0xe876a3b9
-	0x7306ec54	0x8ac2dbd7	0xb6025692	0x60e08291
-	0xbd2d5771	0xae63c08b	0xb57f59d0	0xa0b7a4d2
-	0xa1975545	0xd4246fff	0xb541c3e7	0x80579f75
-	0x350f9ba5	0xc167fd9c	0xa4753b37	0x614432a2
-	0x8c2a5225	0xcacb408d	0xc692b149	0x44eb19e3
-	0x9e36674a	0x4221e3a5	0xc8847980	0x22188be7
-	0x9f3b54db	0xca30b3a9	0x4f23026c	0x1ac563dd
-	0x0cef9dbe	0xde1759e4	0x88a1ac44	0xdb249ed0
-	0xcccf2728	0xc54995cd	0x1410f555	0xe68a533c
-	0xbf63c4b7	0x53890c13	0x501696a3	0x09695674
-	0x49675e62	0xd5859fac	0x62dfaa74	0xc2837e8f
-	0x5693d6bd	0x6c4b7df7	0x19673414	0x436523f6
-	0xd7476fa4	0x1c123daa	0xf160418d	0xb022c7e0
-	0xa0798def	0x908aaeed	0xab420cd0	0xb42b83a2
-	0x779b9257	0x8bd0dafd	0x17088cc8	0xe5707f57
-	0x7e95cb37	0x2f0975fe	0xf6c69671	0x9adb2ac8
-	0x9744adf6	0x534f59b4	0x70126a4c	0x094dc52f
-	0xeb1bca01	0x8439872b	0xa9eb2393	0x93466ee6
-	0xfaefa751	0x407578bc	0xf96695f3	0xece8916c
-	0x90555ebe	0xd4bbb5e8	0x521e0328	0x733e7a44
-	0x6b38d125	0xaf78c4f6	0x02a68e77	0xf0b3de08
-	0x6b7055a7	0xe173c89d	0xf8d502e8	0x0af8722a
-	0x0cb5d7c7	0x67fd3443	0xc3ece1f6	0xd1e3476a
-	0x6c51b69e	0x1e4d6701	0xd30b9ed8	0xcae0b2cf
-	0x107a07cf	0x9e995fe8	0x96be9a9e	0x9679a48c
-	0x56e943fd	0x5840eba2	0x903172e8	0x030e7848
-	0x01aa0b3c	0x3430ee93	0xd9074e67	0xba76da7c
-	0xac651f8a	0x4776630f	0x335cc3e6	0xf196a501
-	0x3946d5ab	0x9521219b	0xd5c1b923	0xea8a860d
-	0xb68cd8e3	0x422fe195	0xee228116	0x7935c07c
-	0xf9a777a8	0x5ebb5f11	0xca9af85c	0x2ced106a
-	0x839746e2	0xb278a109	0xd80ac684	0xad50dc92
-	0xcb1306fc	0x03b5953b	0xa1739037	0xb3d2eca5
-	0xa2177c85	0x331d941e	0x07d760f1	0xaf91e655
-	0x37859c68	0xa93f3fe7	0xfd8c0c27	0xfbaa7226
-	0xf9ebb691	0x378f97ba	0xbff7118a	0xe2dcdddd
-	0xbbcb31c6	0x690c39d0	0xa87db784	0x71e8f7e3
-	0x6030ca21	0x4a0e52fd	0xfbfb507d	0x162bf88c
-	0xaa2641c4	0x8df9c9b8	0x23266298	0xc3c49ddd
-	0xd285aff8	0x3b867dd6	0x0be83ba1	0x0f4a797c
-	0x1c934d37	0x0e0fcb24	0xa0a4d4bb	0xa4c9e180
-	0x1f151322	0x44b9bce0	0x047feb93	0x3e05cf8a
-	0xa9b3e489	0x43f0da55	0x6fcddbe2	0xa402623a
-	0x5c8ad2f4	0xf7ea52fb	0x3da14b50	0xbf8849bd
-	0xb45ca440	0x2893d691	0xf6d8ee21	0x9dc0cf25
-	0xfa6be75a	0xeb27219e	0x9b160b84	0x1867d384
-	0x5b536f15	0xdac9e97e	0x1d290193	0x683d4a93
-	0x4c449e2d	0x493edc1b	0x8ae3a3aa	0x3a49ca51
-	0xd6751c65	0x174ef916	0x94118e1d	0x0bc6adeb
-	0x49c4b0cd	0x04668564	0xc9e39f39	0x19907555
-	0x0320cb0e	0x32a643db	0x4ba9edc5	0xce11afee
-	0xce71c45c	0xebe0c707	0x48d1d23f	0xb2704cfb
-	0x94b97cba	0xaa934cb4	0x7e375bf3	0x7c9f87b7
-	0xb34ebd26	0xb1ed5855	0xdd458d3f	0xcf071bd0
-	0x3204188c	0x744959b0	0x20eb0748	0x1b863237
-	0xc36fad4a	0xde026857	0x74c278b2	0x7be0749e
-	0xd61895dc	0x509355a2	0xab890c09	0x210ef412
-	0xae4678f3	0x3605af3b	0xc111b378	0x81f0173e
-	0x4ac61ae9	0x2efebbd3	0xec8a55b0	0x5c60addb
-	0x19ab7fa7	0xbf5bb0ab	0x7b55db2b	0xa246b5b0
-	0x70739cad	0x20bcca0c	0x152a98a3	0xb1ada872
-	0xf3a401eb	0xb169b481	0x1024e632	0xb285ec8a
-	0x42f7bc38	0xe6ce9265	0x05ce19a1	0xf89e52ec
-	0x2dd6f337	0x81b30e86	0x459ac80d	0xfa83fd49
-	0xc0ba36eb	0xaeaf8c90	0xab621eec	0xe94ee998
-	0x0f693a97	0x5d9a589e	0x439e79a6	0x565ea22d
-	0x60d8e090	0xa021284f	0x4dd58eab	0x35cbe80c
-	0x386c67b8	0xb260ff41	0x9b2685c2	0x37c33d86
-	0x2b922b27	0x1aeb19d2	0x9d503c43	0x0fff6ce2
-	0xf400393b	0x70be801b	0x8cfb132e	0xbb1781c6
-	0xbeaf80e2	0x2a5a64c7	0xc02c7ebb	0x8f870c7b
-	0x6bfecce5	0x8d885183	0x4f2c1b6a	0x0a3e6c0a
-	0xb7d17ad8	0x7d593bb0	0xb1e00ea2	0x8d553de0
-	0x07ecf8c5	0xde0c3afd	0x40f193a0	0x77030199
-	0x458046a0	0x21b67cd9	0x836ef83b	0x53563580
-	0x4edacbc3	0x1263d410	0x2b217042	0x4e3ad860
-	0xd51576cc	0x714ba8f7	0xe02e102c	0xb38770fc
-	0x34270f26	0xe7aa59c0	0x17a3461c	0xe6667980
-	0x9d5ed074	0x4168f2da	0xdefefcf8	0xc6b3031c
-	0x27c4d4f0	0x5e51e5be	0xf90cb81c	0x26ff3f7c
-	0xabc25d19	0xd65e5687	0xa5ee2995	0xc4e545b1
-	0x0184fab9	0xa44f4395	0x2aaef6da	0x33a682a0
-	0x5f878a4d	0x0b808a4e	0xb95490e1	0x4e4b3902
-	0xa1815407	0x3769d4f8	0x81943938	0x0d8b44d2
-	0x89c90314	0xb779e2b3	0x1acfa29a	0x3ee54de2
-	0x203c8450	0xfdbf24da	0x8b9bc91b	0x41a25706
-	0xab9b74a3	0x6feaa6a3	0xed50c416	0x5dca2489
-	0xf9d58d01	0x57682903	0xd951335c	0x55a323f2
-	0xe6c10c4b	0x0983a265	0x50df7efa	0xc550b079
-	0x1e670ce5	0xca74138e	0xa7e01118	0x4d1cd2e3
-	0xcd3b73d7	0xc5c0d501	0xdd56b269	0xbc6bf217
-	0xa3094ee9	0x794e6e21	0xc097fddf	0x191a1b70
-	0xe6a45c45	0x47a1899e	0x29fe5a55	0xaf88ab14
-	0x0a05bec0	0x05c97061	0x0b7654a3	0xfcb357b7
-	0x31657eec	0xb5aeed41	0xc70ea45e	0x096075af
-	0xf5236b88	0x6329310c	0xe1bdaf51	0x569053d0
-	0x7679fcd0	0x04c70d46	0xcce2d566	0x0316e8c7
-	0x391cdf9c	0x47045b03	0xac63bff0	0x1a7bdde9
-	0xa5a725bf	0x6dc151e9	0xf02a3df4	0xfb01c649
-	0xa6690e2f	0xd561a5df	0xbe0efc39	0xd35f7dd6
-	0xddbe2e12	0x8f403837	0x1c92e116	0x1b47ecde
-	0xabd75d5d	0x3b39c5a3	0xbc8a81e2	0x5beaaeef
-	0x1206f28d	0x7aa1852e	0x96eb9ef2	0x30911a7b
-	0xc1ed82f9	0x0940dcef	0x07c62124	0x1ec437a5
-	0x688e0a9e	0xc26852a2	0x01bb985a	0x55429a26
-	0xc90b329d	0xf618584f	0x1ed4fb9d	0xfe605231
-	0xc20810d3	0x7cf66bbc	0xadf11084	0x80697ce9
-	0x473457b6	0xd162e619	0x4e452b78	0xd39ddbdd
-	0x8591db3a	0xb225b8e7	0x208855e9	0xefa860f0
-	0xdd96e987	0x074a8ff1	0x1cf505b1	0x78d7b7d5
-	0x8cd1cc29	0xae25f5c3	0x4fdb0160	0xc4cef03e
-	0x9a9c5704	0x47032d85	0x3486b65f	0xd3ecb515
-	0x58bd87e4	0xa408f421	0xca577e46	0xa5e921df
-	0x5a295aa1	0xe53f571f	0xc03f9dd4	0xf1d6a0c4
-	0x711016e1	0x300d5999	0xc321eef2	0x96669e94
-	0x2925f8c6	0xf7096453	0x65d21402	0x6f7462ab
-	0x826ee986	0xfd04606c	0x5554d246	0xb3d98bcf
-	0x237e9d62	0x82224172	0x35ea607d	0x8142bbeb
-	0xcb0edddd	0xc0a9233b	0x64be095a	0xf8b39e85
-	0xde2d0b29	0x69e2d7a1	0x6737f156	0xf85e0d4f
-	0xc194effb	0xed018c03	0x873a1908	0xa4fa5da8
-	0xf6eb812f	0x04e4819c	0xd189a19b	0x94694499
-	0xd0545215	0x371f62e8	0x2208dede	0xcb49f3ad
-	0x192654ac	0xf36c1f49	0xeb3af0c4	0x54bfd20a
-	0xb86f85aa	0x3d94435d	0x31a9a1ed	0xd02b0620
-	0x0b44bc44	0xb4861a1f	0xb4605284	0x1c83e472
-	0x055d7e70	0x717bb954	0x44d8e8bd	0xbd9af75d
-	0x068d8de3	0xe25b73ad	0x8df23c60	0x4050ca9b
-	0x86c000d7	0x67a9e98d	0x437bb833	0xe26ca015
-	0xcc53371b	0xa0ce2a4c	0x83bfc220	0xc392520e
-	0x38d7f316	0x4801955c	0xcebd086e	0x6a3b8eeb
-	0x83d63b2a	0xcf516140	0x3f0d648a	0x58b62c57
-	0x7ef3bffa	0xa6976628	0x8f3a5c55	0x42a3baa3
-	0xedeb9c23	0xb477c88c	0x63d7c7bc	0x2bdd0e26
-	0xfe7b9821	0x31fe5981	0xdb5425a8	0xc716b3c4
-	0x0a6f1597	0x34a8a007	0x36b0614f	0x8362c856
-	0x5e0f52b9	0x9398b4d7	0xc5c5590f	0x4af55ddb
-	0x1ec59258	0xaf0222f6	0xcc2c7b6c	0xf0413081
-	0x1ac15bcd	0xf0bf09a8	0xbdd23bc0	0xd75ed77f
-	0x551c6a1e	0x5380ca48	0xf5f30a44	0x88ecff13
-	0xa5f8130c	0x7cb60dc0	0x9eb26ba1	0x3f883068
-	0xd954b9a3	0x95c87a30	0xefcc0c68	0xf7337080
-	0x1eb12337	0x125c5a7f	0x25a0fee6	0x439a4a47
-	0x02ac17fa	0x5d581e53	0xafb9d7be	0x914f9ebe
-	0x82f5c4e8	0x7d29838a	0xe8d6c3ac	0x1192f816
-	0xdbfa1251	0x239defaf	0x8d4a48d0	0xa48bf5a7
-	0xae7149d2	0x9c349068	0xe7e1f6c3	0x8c28773a
-	0xd441626e	0x81fbd796	0x3597d8c0	0xb8f39eef
-	0xbafa40c7	0xe4e53aa9	0xb678c826	0x1ac82ff4
-	0x9e7fa0bb	0xe8bb2559	0x064e4e96	0xb0e6f10f
-	0x9ae0ee3d	0x7d9b0b42	0xadd1c5df	0xf095f8a0
-	0x30f172ae	0x61caddf6	0x4ce89732	0x06099b54
-	0x011266e7	0xbec76cea	0xf7f8d2f2	0xdfbb7f1b
-	0xbb003bf7	0x425d3677	0xfdef38c8	0xadbe4b40
-	0x634753c2	0xe53ae88c	0x1714dc8c	0xb788dd35
-	0xcbaffa0e	0xffbda6ca	0xe1f91cc6	0xf92d121a
-	0x9a260275	0x45b2c1ca	0x707a08b6	0x2a8db106
-	0xa7df6894	0xe7189751	0x206259b0	0xde37dfea
-	0xe468cebe	0x2476d774	0x1687f09f	0x2c06af20
-	0x60fa742d	0x81aca355	0xef888aa1	0xc1847c88
-	0x32036160	0x29a779b5	0x47d9e830	0xb9f83d5f
-	0x3fa4e61b	0x038f4901	0xda804b60	0x231c9fff
-	0x8070517b	0x2a4e6c70	0x9485f89a	0x7b57f832
-	0x0d92d4cd	0x04aa0eba	0xdcf5c49a	0x3b3a772e
-	0xe9df2e03	0xde378b39	0x3bdfbf09	0xa60790df
-	0xdd8826c0	0x3de3b41d	0x68c3f5bc	0xd6f093d4
-	0x41bd42c0	0xc68291ba	0x12f94625	0xae5ca753
-	0x0abd919d	0xf48b4d3c	0x57c0c82a	0x5ba454cb
-	0xce5a94ff	0xae3cab47	0x4aa33823	0x1afaffe8
-	0x7d4136c6	0x2be28394	0xfb7602ee	0x39eb1300
-	0xd12bae68	0xe4b7a0c0	0x94f94c06	0x048abf82
-	0x4eb3e435	0x6fd07abf	0xd471636c	0x5c6c299f
-	0x702a9e43	0xf239358f	0x82dc3598	0xc76a572b
-	0x48b47811	0x1de592d8	0x258a64a6	0x9b61d81c
-	0xf44f9c0f	0x737b3537	0xc6e0eef8	0x169efe91
-	0x834cc9a3	0x67d42617	0xa3df949c	0x2e4601f3
-	0x21630729	0x7bb68a4c	0x7e489647	0xfa9179b3
-	0xf2588707	0x4fddeedb	0x7a1f612d	0xb55787d0
-	0xafee1501	0xb3e7b9c6	0xba804c9e	0xd4ae95e0
-	0xac524f6d	0x58cf914f	0xe057bd9d	0xf3ac907f
-	0xb03a6d32	0x2260788c	0x4caaa555	0x984ca3f0
-	0x2129f747	0xc8d68e34	0xa87c8179	0xa480412b
-	0x63e15d82	0x41cbe3df	0xdf1a76d2	0xc60c1cde
-	0x7648f22c	0xacd4fc11	0x06b9d04f	0x991c16ed
-	0xcb417c7f	0x479c604b	0x5582e2c5	0x40f9c0e7
-	0xc2d613be	0x136c76be	0x91e780bb	0x2063d01b
-	0xc4e5d68c	0x6862f436	0xa56544a2	0x5d022a83
-	0xf72335d0	0x85e89050	0x89306316	0x1f0514bb
-	0xa5080fbb	0x2a7369e4	0xeac3af3d	0xca7607a5
-	0x5c743d9a	0x7ffe728c	0x9e8fb02f	0xa0c5eab4
-	0x0fab7728	0x4cb95891	0x2e79d596	0x018ccc65
-	0x0b58f60f	0x2ca2b629	0x046ea589	0x3b30acb7
-	0x8ba03fbc	0xf22519b6	0x8cb72f21	0x202dee89
-	0xf9d00d21	0x2ec96d07	0x4b83c51b	0xa9fe32cc
-	0x1d8f9267	0x1a432a84	0x6d823868	0xc7911f1d
-	0xcb21bb51	0x3c2456f1	0x1a03390d	0x25052957
-	0x20616d36	0x4fb85138	0xcdd69e20	0x42b7854b
-	0x158e4668	0x6303770e	0x96e26c4d	0x71b527a5
-	0x11319d1d	0x6d75f287	0x1dba9eaf	0xccd4fce8
-	0xf5d9cfa1	0xe9fd8f1d	0xb6f43134	0x2d4cbbab
-	0x1304d4a3	0x7a05977a	0xe773bf6f	0x30baa540
-	0x61f204da	0xc5a5aaba	0xb9957e48	0x3262daf3
-	0x78511464	0x2ab04e32	0xc89d96b6	0x14246913
-	0x4b836fc9	0xf50f4f05	0xff2d221c	0xc14a1bbf
-	0xe05e4591	0xf4c57aa1	0x935d6b79	0x0878ec6d
-	0xdf4537d9	0x8a82fb47	0x6510da09	0x37a2a471
-	0x216f3f32	0x40bac353	0xbd273df0	0x92a53e79
-	0x54e1c315	0x494f9ef0	0xf206a246	0xb536ed59
-	0xbd90d8ac	0xe7cd65db	0x1528ae70	0xa999b3ea
-	0xfc3616b9	0xf26b0fb8	0x0d26f2e9	0xbf44ebf3
-	0x690d86fd	0xbfa22568	0x760c8270	0xb51e0a14
-	0x3f9d311e	0xac848312	0xfc101499	0x553fe2a4
-	0x6a6b0f3e	0x6f970879	0x2be81e35	0x6144ac40
-	0x501451ea	0x268aa441	0xc6cf124f	0x6bf90440
-	0x08fa587c	0xc04bf04e	0x25bfb03a	0x3741f6db
-	0x26242832	0x5bf071f0	0x8d6463b9	0x500e503c
-	0x1a9468ce	0x5d23d18f	0xf2f8163c	0x0d7e519f
-	0x98f0edd1	0xdd12a97d	0xba39e22d	0xc91cace2
-	0xb2204698	0x87eaa42d	0x7968cfdc	0xe32a8876
-	0x6799323a	0x5df22ef3	0xa674dfd7	0xb46117cb
-	0x8294a996	0xac7d3b17	0x30c06dd6	0x3b827594
-	0x1cd8770a	0x026d3220	0xb9efe807	0xb3d73bad
-	0x68c78f8f	0x8f8a13ea	0x1ffb9590	0xe99cef6f
-	0x03cd123d	0xfb1bb840	0xaff37d51	0x199b5161
-	0x842c3d56	0xf31e3aa0	0x218ed36e	0x16bbd3f8
-	0x733a6088	0xed5c4240	0x29ac4df9	0x65765620
-	0x1645afd8	0xb9af1aa2	0xdad3a6b0	0xa1007b56
-	0xe709a529	0x51a7d880	0xe58a2cd7	0x79c1915a
-	0xf63df885	0x83e87bf9	0x33e3818e	0x3e3c0136
-	0x59b684da	0xc03628d4	0xfc3e229f	0x67fdb30e
-	0xe965e7c5	0xcd262320	0x171c70a9	0x85d68571
-	0x1da4d76a	0x59e854d3	0x138428bd	0x0804e776
-	0x948e121e	0x410cd3d9	0xdc4834a3	0xecaa7f10
-	0x6d2993a3	0xfe17843d	0x518ec623	0x70c3f7f1
-	0x418d09b8	0x04272bf6	0xbb6f5ac6	0x86993bb5
-	0xae28afb6	0x1afa1ba2	0xf1231937	0x599c8856
-	0x47eb85af	0x6cdf0c60	0xc08098ee	0xa26eaa47
-	0xabcead3c	0x72e567a9	0x54196049	0x502ed324
-	0x2c8773c1	0xb109a085	0xe8a25547	0xe13f68a0
-	0x08ceb631	0x024c1b3f	0xb1701b83	0xe3602a0a
-	0x2d9d092b	0x55f9960b	0x1eaeb777	0xcb422b9d
-	0x15484e5b	0x3b040ae5	0x6851c37d	0xbe99e012
-	0xdf731c32	0xf2a4ddc2	0x4f18a7b1	0xf244d571
-	0x20a13803	0xcff77b0e	0x6a32c0ba	0x6db996c1
-	0x83b3dba1	0x0287b69e	0xc8132123	0x1cf51166
-	0xeae54e68	0x64c974a8	0x4d6add7b	0x58a87bc3
-	0xa70799a9	0xd6575ef6	0x9c67be5f	0xe565e7f2
-	0x6c602d11	0x47a2332b	0x58e3a7c0	0x4bb04592
-	0xb899331e	0x28691b63	0x35a5b304	0x590e8684
-	0x398bce23	0xa6e5d1a7	0xbe941045	0x8248a1c7
-	0xe2f0f0b3	0x8fedacf9	0xe9412fa0	0xfcdd0389
-	0x0aadca9a	0x592efaa5	0x5b32f7ca	0x59331bb2
-	0x8c3edeb1	0x327d14ad	0xaf6ee0de	0xba015362
-	0x331e2a77	0xd0759b70	0xd80e1d52	0x8f24b791
-	0xa77b5abf	0x0dc0bb13	0x22d28613	0xf579ac0e
-	0xfb8f0252	0x7073e4df	0x28a4aa05	0x7e665e37
-	0x8459682e	0x17ce0744	0x55c15497	0xf0d506ed
-	0xe4402e0f	0xeb964b36	0xadf8cdfa	0x51e408b2
-	0xac8f1f75	0x21da7eab	0xd8be84a6	0xb889de7f
-	0xa3b7ccba	0x2e92096f	0x51dea741	0x4bc8b6b7
-	0x509d1e16	0xa51680d2	0x94570667	0xac5f5203
-	0x916845a5	0x1e2b4162	0x39f55bf1	0x903c4c15
-	0x0953148e	0xe0ebd00e	0xcb659fdf	0xd3574623
-	0x4d97e3cf	0x49f4b61e	0x44007063	0x20a32437
-	0x7c5dde33	0x8c7145df	0x9db86b04	0x19b6dc0c
-	0x18ae6d06	0xa7e11c47	0xbf60d44b	0xf8670b5b
-	0xe9e8e361	0x6bea92d7	0xddb5fbf3	0xfe493a6a
-	0xe0010eca	0x472558e9	0xd3438288	0x67dff800
-	0xdcf99ebc	0x8550e460	0xd4f74bf2	0x9cd801bf
-	0x69a5fcc4	0x70ca0a39	0x8ca2156b	0x7c3d451f
-	0x688ccdc8	0xcf6fe525	0xc39776e6	0x2d71269f
-	0x9bac002d	0xdb4bd577	0xaaff71ad	0x99a880ee
-	0xc4e77913	0x4f58dea4	0xb0d35b3c	0xb7dd5cd6
-	0x368f88e0	0x1a153497	0xa61a686a	0xb4b29fc0
-	0xa2605188	0xf1bc0648	0xb2ad7cbd	0xac582f14
-	0xdfb3bac0	0x079fd5f3	0xfb336ee5	0xdbd17aac
-	0x5c5da53d	0x89d5d69e	0x07451fc0	0x53f3ee4c
-	0xfd1e08cc	0xcf46a702	0xe9b4e436	0x25e13d98
-	0x809a73ab	0x07b25e94	0xd5845739	0x7eb131f1
-	0xd3e5d83c	0x5fa46a68	0x178d2b05	0x94ee2f16
-	0x75c6be0b	0x01716271	0x359790a8	0x754a16c4
-	0xa26be7f5	0xd998b02e	0x25497107	0xb842f73a
-	0x34f680a0	0xae8c305d	0x5b9b239c	0x0f2b009d
-	0xfe440280	0x145d1126	0x6d102c8b	0x402b89b6
-	0x9a580c40	0x91aa00a9	0xa03d8974	0x4d2a26a1
-	0xb75b8202	0x16600764	0x211ebb2e	0x28bd93d9
-	0x6518d2cf	0x6d5bd308	0x382c5ed7	0xa29e0aa3
-	0xf89cf93a	0x74a0b016	0x3ca612f5	0x24064cf1
-	0x47747a5d	0xd22975dc	0x3c696e1b	0x0e4d0a5a
-	0x3718d1a4	0x1fcc5ea4	0xab35093b	0xb50603ea
-	0x3650c65f	0x32858ec5	0xa87dd504	0x687c5833
-	0x2a36de42	0x9cb6868a	0xe78d1072	0x675eb362
-	0x64e67cfc	0xcdab05b7	0x72e23276	0xc7dd5753
-	0x409f3b09	0xfa93587d	0x99eb8cff	0xb6c5fc09
-	0xca99a2a2	0x7f5583e9	0x2fd55cd2	0x38a65dd0
-	0xa16d92a2	0x286f021f	0xd71619c3	0x7d1c61f3
-	0xf7507ce9	0x6c2a3eee	0x1053a2ae	0xb63e258e
-	0x86f335a4	0xb5b07b32	0x0d156a38	0x53755412
-	0x76a542d2	0x26f25a85	0xfc038aab	0xa9d96a0c
-	0x8575d08a	0x24805c0c	0x39ea0650	0xb2edc539
-	0x1df34734	0xf7728395	0xe17c0196	0x54079a46
-	0x5c52fc37	0x09d2d435	0x19f28d5d	0x92dc3611
-	0x4f7fa756	0x19a128f0	0x3e273d1d	0xff6309c9
-	0x2c34216c	0xba4cc184	0x8873b38c	0xcd84fcdb
-	0x3ede1e50	0x286cfb74	0xef17d548	0x01e12784
-	0x5365dfce	0xe808116d	0x619f6117	0xaaa322f5
-	0xc81e268a	0x8303df05	0xe251ffa3	0x86b43181
-	0x1f6ab10b	0x60c48f73	0xf0a299df	0x311f1a35
-	0xcf1b31d1	0x67bbee54	0x4be22f23	0xe1cbb341
-	0xce778173	0x495c5dd4	0x2597b567	0xda1bda27
-	0x45409289	0x5f8290bf	0x9b3d5714	0x5a732f3e
-	0x9ec75a75	0xa062a5ae	0x1d9b6d09	0xa983c663
-	0x0fc1863b	0xef46c113	0xaf6517a2	0x3a90caa4
-	0xc1c36909	0x16a68595	0xd83751da	0xf965e105
-	0xf0a2c08f	0xaf5a83cb	0xb1ef85a2	0xb994a331
-	0xd0dc78d2	0xeb278a2a	0xe22a165d	0x3f1f999c
-	0x5b7c2d89	0xa0a9afbd	0xc42db24e	0x061c9ef4
-	0xbf09c71b	0x2e14198c	0x8765e181	0x6eb6884d
-	0xa91be755	0x8d203fe3	0x80e25674	0x0b39ba38
-	0x12cb68bc	0xf0dbdc5d	0xb95f1bab	0x7ce7663c
-	0x227dc658	0xcd46afb7	0xaf9127c3	0x0ba73835
-	0x613b23f0	0x599e6f37	0xb5e6463b	0x49557c88
-	0xb104b402	0xd5276a66	0xa68ce0da	0x5d229e9f
-	0x59292206	0xe71d18a5	0x3627be43	0xa1931f4d
-	0x9b282f64	0xa429e37d	0x2954801c	0x78f8ff7d
-	0x72d0997e	0xb6333f10	0x9db0ae49	0x849d6972
-	0xf3105f52	0x42413f96	0xddb2c652	0x99802d95
-	0xeeedf598	0xfd785866	0xd13a7b1a	0x225a59fd
-	0x19722276	0x9a016c80	0xf4d22f4e	0x5a739fb9
-	0xbaa3488e	0xcf913c7a	0x7ff05f65	0x0b5ecfe3
-	0x86a7dbde	0x2de1255b	0xbadc1a92	0xe8be38c4
-	0xf13fa2fb	0xd46894cd	0xc48b9503	0x8e715854
-	0x3a03fe9a	0x013e5b08	0x4f46f488	0x7e27181d
-	0xec159b58	0xc4977b80	0xcd454784	0xbbaa3742
-	0x124eaaa3	0x66414ef9	0x1e514b4e	0xe978d0e6
-	0x46d8c643	0xd316c855	0xb84dd9b7	0x5122465d
-	0x34c59dac	0xa6f10643	0xd80b3949	0x07536f2d
-	0x4fbcc30a	0x8aa8a4b6	0xdc2be5ef	0xbc3e1c78
-	0xc25d1ebd	0x96919bed	0xdb37931b	0x6e077871
-	0xfb2bf61b	0x9a659648	0xeccda7dc	0x79e86b23
-	0xf1c18329	0x59830510	0xf1dcfedb	0xdc7d2b84
-	0x41e7afd1	0xeca8021d	0x7312d4fb	0x7a45eeb5
-	0xbffc8a1e	0x494d7c24	0xc2a84a95	0x460a0ddd
-	0x7e44dbd5	0x2109fdbf	0x556374c2	0x616bf76c
-	0x8b3ae7b6	0x0e2cfcd1	0x65370b6c	0xf1fbb913
-	0x81c57609	0x4c2cadad	0xfc74a3cc	0xc9556305
-	0x16464838	0x5ef7fb12	0xc90eb9f4	0x72353a20
-	0x46bc1ec8	0xd3b12916	0x51c45e0e	0x061b53b2
-	0x1a203faa	0x4e5e3054	0xbaff1858	0xb65398a0
-	0xd5b4eca8	0x5649844c	0x2e1c6f6c	0xf828c53c
-	0x689565ba	0x76f11b18	0x5dfd40ae	0x1d98abf6
-	0xc9322c46	0xa22604ad	0x2740ba5b	0x99eb85be
-	0xb52a3340	0x3fde5fb7	0x5e0e3a01	0x60f69345
-	0x37f6fd3d	0xd084006d	0x26c3a62b	0x161b206a
-	0x2a224c7e	0x93a45c60	0xfacdce07	0x2e7b4058
-	0x3c79d10a	0xd7939bc8	0xbca2e30f	0xf22b6c21
-	0xbb03c5e1	0xf30b3651	0x2fbb40f4	0x8050c8d8
-	0x8683e045	0xe6024d08	0x81dc0b0c	0x8cd923e3
-	0xdf8df717	0xb1f8d6f6	0xb0469246	0x79ea7958
-	0xe3743d7d	0x83e1cad3	0xeaa7fd02	0x4d3aebc0
-	0xba63ef51	0xd5cde1ca	0x1bdf1383	0xbb462d70
-	0xb777376c	0x5a382db2	0xaed44fff	0x130fdd93
-	0x1ed8bc23	0x1f3c7297	0xf3e79215	0xaabc0139
-	0x50005a1e	0x55ca82c7	0x58778cb8	0x2e58a478
-	0x4c4cff0b	0x3c44a21f	0x8f108d67	0x58211b23
-	0xd233181a	0x9e46b169	0x37533a95	0x33bddfef
-	0x777df938	0xda8a8239	0x45af2beb	0x3613b03e
-	0xe6ae05f4	0xe33730a2	0x1e65dff3	0x7a64a0d2
-	0x79273ca5	0x580a16b5	0xc51b39b5	0xccea7be3
-	0x29d9caff	0xf7377acf	0x0bc27444	0xb68b6ba4
-	0xa75ccbbb	0xdbf69f05	0xe8be0152	0x569bdc28
-	0xb8ebe746	0x43398e79	0xa7def566	0xc99e1f1c
-	0x3be29c87	0x6e4c4b68	0xb8a37b2e	0x84970f9c
-	0x178d4e72	0xac72ec6f	0x0862e04d	0x85cdb66d
-	0xd6f2feb9	0x10d299c2	0xd91a74a1	0x831697bc
-	0xd0038240	0xbe9aed06	0xe808bb08	0x49462fac
-	0x7efb2fbe	0x1e276eb9	0xf83b97b5	0x3754f4bb
-	0x4449cb0c	0xcf2a2866	0x04840e6d	0x9d9b6551
-	0x3b50f722	0xd8f7f14c	0x9ba685f6	0xcf6bed00
-	0x41012924	0x82b27e98	0x7541d6e5	0xfa5b81cc
-	0x91d44937	0x46d27cdd	0x91570abf	0x959e1e97
-	0x7ee9da66	0xf82883a5	0x87afb380	0x761c818a
-	0x180811ad	0x095d4970	0x751dee19	0x9f438246
-	0x32a3c642	0xb3b34b98	0xab450f56	0x539a6ffd
-	0xb339563e	0xe8808c93	0xc7ad9eef	0x0dc36b70
-	0x1278e749	0xe83d046b	0x987de721	0x2115e00d
-	0x7a09efd3	0x8e56c4f1	0xd5de351b	0x98eb73c2
-	0x9becebb9	0xb18998d9	0x3ee01945	0x20eea116
-	0x846bb55c	0xb7f624c5	0x6f7b7463	0xcbb986ad
-	0x545c3c41	0xd754bfbd	0xfc4148ec	0x312f89dc
-	0xe2894337	0x7867e25b	0xeb11c6df	0x9fb721ac
-	0xa843962b	0xef242fd4	0x6fcf4b6c	0xea208951
-	0xd521c86f	0x08f67a28	0x07209b9c	0x6ee42989
-	0x9fdc0e42	0x3794b7db	0x038a398a	0xb339b4b8
-	0x6d621319	0x6b9d713f	0x3537ff34	0x3fff0baf
-	0xa5c0e302	0x8fdfa8da	0x50dede4b	0x448ed0b2
-	0x2178bf5d	0xf7dc834b	0x9762f1aa	0x087a9b65
-	0x7f3cc965	0xcd1c011a	0x4c630727	0x755908c4
-	0xe33580fd	0xca010764	0x677b59b5	0xb3d182d3
-	0x55c2d739	0x8c6f67df	0x10f6b558	0xf034ee76
-	0x540009e2	0xe6343edf	0x95f2508e	0x2a9c22c9
-	0x5d42e77e	0x82216d23	0x10ad67da	0x8ec77e6e
-	0xa88a3bb0	0x4e10dc6d	0xf3fa2dcf	0x59be53e7
-	0x25f758c1	0x2c42fef5	0xba575ddc	0x0435bf50
-	0xd390d087	0x6e230259	0xf7e3c764	0x52c16ff4
-	0xf2a6105a	0x31f0188f	0x83f2582c	0x2b73521d
-	0x6b320332	0xcb7f3899	0x17f23cd3	0xab7d47d2
-	0x535f1340	0x700ea217	0xbcf4f83b	0x16ea4470
-	0x76a618f7	0x30216e93	0x6e80cfd7	0xcf706ae5
-	0xd766457d	0x0ebc1377	0xdcb10949	0x2f679120
-	0x5cc6abdf	0x65754d61	0x1a3dab69	0x8f349b8e
-	0x95bb833b	0x5588b280	0x0f0fa923	0x21250ef5
-	0x73bc2547	0xcd7dabe5	0x4795737a	0x82b92e90
-	0x896f9de5	0xa18ae6d7	0xfeeffde3	0x346b0557
-	0xdc7c068a	0x4e6eed51	0x4ff07c63	0xdd15b445
-	0x97808676	0x304a0912	0x7fe07453	0xb9e64599
-	0xd7a57b8d	0x7f4fd506	0x226719e4	0xe6c251e1
-	0x7ea1ee5d	0x6051b787	0xb00b6e40	0x6babdb06
-	0x725fc094	0xf35fc6d2	0x4e7d6c3e	0xa5a718f4
-	0x17f63fb4	0xc39bf11c	0x808332f9	0xd2c07986
-	0x57bf130e	0xe1f5656d	0xb52a43b6	0x9a105745
-	0xafc22c4c	0xeb5b8a45	0x39153d0c	0x55f1b477
-	0x4a947d5d	0x83dee3b3	0xc3d1e1c1	0xc6dc4d47
-	0xfb93a531	0xea002909	0x95e58a9e	0xf14453ee
-	0xe7fe7f8a	0x6eb7bf4e	0xfd74da03	0xe2a994cf
-	0x4ec6321a	0x27c4a2d8	0xfaecde76	0xd4ba53bc
-	0x22b291c3	0x32dad786	0xedc8172b	0x98f6cbe5
-	0x0407f9c5	0x0e3e7894	0x68c4562a	0x2264dbe4
-	0x938a45c1	0xb02c5428	0x31df8b31	0xefb49223
-	0xad0abeb3	0x9ce02ca2	0x7906e6d5	0x2fbe9f55
-	0x3dfed450	0x9a9f5854	0xa99171aa	0xdedd910f
-	0x3e7727bd	0xbf49e35f	0xfb435c59	0x872ca461
-	0x9693c2e5	0x4d9f7917	0xbf9b494b	0x4cb695ce
-	0xc21c2629	0xaceab2b2	0x30a8686c	0xc09e85e3
-	0xe3cf9904	0x39d0db4d	0x73e0c451	0x64b5d63f
-	0xc27777a3	0x91272d8e	0x511db1dc	0x9d1a6175
-	0x9c7e83c0	0x60037169	0xe9d248c6	0x54d04f10
-	0x99787291	0xc3ee42f5	0xbbd26f8d	0x7fa0ab4c
-	0x1e1e7f10	0x170b04bd	0xdf46d792	0xb17864a5
-	0x832c1074	0x17783980	0x174f75ea	0x92980341
-	0x7aca43ef	0x851a6e2d	0xa25dfbd7	0xf84cff03
-	0x8a3d6563	0x8fff04c8	0x9ac359da	0x58a7b145
-	0x57c1e741	0xbc735a98	0x171bc199	0x9f704237
-	0x1efbde72	0x79b48991	0xa7d67d95	0xe9869769
-	0xf6324dbe	0x17360a53	0x2131f704	0x5cf7b840
-	0x53101e35	0xe71c8bb6	0x1c10fa64	0x28aa5883
-	0xc41d3377	0xe6c3556a	0xa5140cf0	0x1e0224b6
-	0xaabe86f5	0x00b520f4	0x346aa560	0x7de8aef9
-	0x2a19e4a0	0xbe2a2772	0x93653c17	0x2ec53d8c
-	0xd0a5ea33	0x985e6fd7	0xd300651c	0x72ce1567
-	0x16559001	0x6e459145	0x2dafc413	0x28f514cc
-	0x2d1b9e94	0x798b5770	0x3bd27af8	0xd5437be9
-	0x0bc1de32	0x83f58c43	0x4a968323	0x873cf533
-	0x44b8f501	0x8caa31dc	0x90961244	0x257e5811
-	0xfb1c4c4d	0x7203f540	0x9d2294eb	0x533e9896
-	0x670bf234	0xefde4d0a	0xace846e0	0x16a1421f
-	0xe6a40e79	0x8b0f861c	0x63b8416a	0x80bc7963
-	0x035bcc06	0x2f3a8636	0x4adeb4a8	0x527a1f98
-	0x6d0ae365	0xd430ee93	0xa54d6e88	0x9e492859
-	0x6d435e2a	0xf3f336df	0x8789fe48	0x04683847
-	0xeb35012c	0x793f787f	0x1649fc98	0x4daae27a
-	0xa899ef37	0x0aa874e3	0xe877985f	0x3877168e
-	0xbcd9af49	0x925bd4a0	0xd7653ea4	0x1a7356c1
-	0x53cf5cbb	0x5b3e660a	0xce923831	0x42ea11b2
-	0xcb85c607	0xcb4fef4b	0x33ac8e92	0xc68e0ee8
-	0xda28f304	0x34466a58	0x4e3ed659	0x433c37d5
-	0x6e5d8f11	0x2306c1d7	0xb8562926	0x857280be
-	0x7f6978c9	0xb6127ef8	0x848ff180	0x3f175d08
-	0xc9ea3682	0xa7f8401b	0x073a04ee	0x75d43c6e
-	0x193e70e8	0x9e6ee78f	0x5eda1df9	0x53e54ed1
-	0x94a57a5c	0xd66dc923	0x121c0f87	0x637f93d0
-	0x52b5658f	0x34ca3432	0xed262d4d	0xe7c3c8bf
-	0x05519bb1	0xa27335b6	0x8aeba357	0xa9edeef9
-	0x06dad515	0xcc0258ca	0x0db85a3d	0x4edbeee7
-	0x8efdc1fa	0x53f1f91c	0x367b73bd	0xc9785288
-	0x8046ec91	0x1270cb82	0x6a5cc22b	0x7c56f6c4
-	0x09140a7f	0xa362df46	0x794ba791	0xc280f317
-	0x0a8c218e	0x8fd18bc7	0x9d112770	0x4a94c675
-	0xd08f6e86	0x200978a2	0x08bb8824	0xeda38a74
-	0x396364ed	0x4cf3fae5	0xd1bbcc8a	0x38e68b54
-	0x49fe9e89	0x0f372a6f	0xcb8206ec	0x686c51df
-	0x3d21fba2	0xeed5addc	0x8cb09804	0x7b144b6c
-	0xc31b72c5	0xb2e1fc8a	0x699440df	0xa1484706
-	0xbfd64898	0x87c7d89f	0xdd1f06e2	0x9048531b
-	0x3fb97a6f	0xec79fb12	0x1a81577f	0xf6fe7c86
-	0xfa572435	0x0ed1607e	0x85823de4	0x2688f491
-	0xcd6f5341	0x55c944e2	0xd94a5421	0x43b0eb08
-	0xabc52c65	0x3f624e64	0xaaec22a7	0x0b6fc108
-	0x0b5e8a54	0xb9f36d25	0xf531e230	0x18405343
-	0xadf99cb1	0x779851bb	0x93aec541	0x8364b884
-	0x9e14f66a	0x389f6625	0x94d43b9a	0xd9f3b002
-	0x34b23621	0x80599e02	0x7ab4a0f0	0xb0428b5c
-	0x8510def7	0x2871743f	0x350d0bc3	0xdbe61d9a
-	0x787b3c6c	0x80272431	0x2ed6efd3	0xcf77c8b4
-	0xa21f406c	0xcb82aafc	0x451b3a49	0x4bfd9ae6
-	0x4bb86748	0x03fbd542	0x329ad4fd	0x0761e756
-	0x07f31e88	0xe6aa2f44	0xc209345b	0x250eab3a
-	0x2710b3b1	0x710bb403	0x921c083c	0x94e25ccb
-	0x6b344255	0xda1501d3	0x3e0dc98c	0x2c09adda
-	0xefbf0286	0xdec41f1c	0x3865e02d	0x211215e6
-	0xbd3e4351	0xa3b9abc0	0x9ab908b2	0x5c345108
-	0x0175a871	0x3611d15b	0x54733b2a	0xe57bfda6
-	0x3b507ed3	0xcdcd1007	0x5314fc0d	0x3ef57680
-	0x181ffd9e	0x27a7e64f	0x7a780684	0xc8fadf11
-	0x13415b31	0xce53dcd9	0x55488687	0x858b70cc
-	0x14067837	0x0f3f012f	0x41f0636b	0x1c8d2f52
-	0x9dacc300	0x63b27876	0xe1c23617	0x02c57956
-	0x85a91d2c	0x0740e7a4	0x619eab0c	0x10f254ca
-	0x9ec8ca01	0xdfd090f4	0xbac084ac	0xa1f8168e
-	0x7fa0e114	0x282b1cac	0x8e1283be	0x9e108b3b
-	0xc6eb7a09	0xf8d643a3	0x3b4afa67	0x3e7f307c
-	0xa5fb1937	0x0b00178b	0x017369f8	0xafe1fcff
-	0x29987f54	0x965cfcd5	0x0e362047	0xd03dfc30
-	0x9540bd32	0x2c688ee6	0x6c32d9c1	0x5935278a
-	0x11b6c4c9	0x69202bd5	0xce48e114	0x9c5bc22e
-	0x3e92fc71	0xb77657e2	0x9232fd3f	0x76dbd637
-	0x1d672fbf	0x4dcb0727	0xe719838c	0x3db49bc3
-	0x77d94683	0x6d82214f	0xdd3d51cb	0x3c23f486
-	0x46253c8d	0x347089d1	0x7fef2912	0xee1d3cb4
-	0x10da8cbd	0x7172b3ac	0x95c24117	0x60d1bd52
-	0x1b2b9552	0x20ac6729	0x3614535b	0x830844db
-	0xd9310617	0x3480f0ae	0x8e2e14df	0x4a02c210
-	0xf5944144	0x680b5216	0x5b5ff941	0x921f8c17
-	0x798012fa	0x43dd9855	0x725e40e7	0xb3bbac37
-	0x44ef21ec	0x7fcbcfe0	0x0630ce23	0x3f39b5dd
-	0xf0b3f7dc	0x51bdefd5	0xf5e0b7ec	0x3a2c2398
-	0x00e4ad5c	0x4017fa32	0x205c567e	0x70c646e9
-	0x81c0291b	0x33c5050c	0xeda458a6	0xa6c868fd
-	0x1b70f270	0xb661cd4e	0x322b97a9	0x1572f522
-	0x004792fd	0x01d23270	0x667b335f	0x5da3142d
-	0xb7de831d	0x9736e866	0x0a70d898	0x16d1b373
-	0x70bd1a6b	0x75170aff	0xe98d71af	0xb9829684
-	0xedaa0924	0xbc67c151	0x155b4797	0x63c8d08c
-	0x7811c5b5	0x84a348e8	0x6d841a8a	0xdc0e3707
-	0x3defd447	0xac78f3ba	0x44ac7616	0x68147936
-	0xc3f6fe4f	0xe3550b13	0x1dbb593e	0xeede24e0
-	0x3935ec43	0xe0a30569	0x66a0223f	0x32b741c6
-	0xd9e35135	0x77793169	0x8479a087	0xcf7433a2
-	0x91d6967a	0x34aee2fd	0xfd68c051	0x6375cafa
-	0xe5d7a0bf	0x1a3cdf26	0x4f0765b6	0x89dd8de2
-	0x0ebfa813	0x8a5b91c0	0xd698549a	0x4ee2cfb4
-	0xc2dbd4a5	0xd0e2ab9b	0x9765a4e8	0x880f32ac
-	0xf0f30fcd	0x74021c54	0xa1d6944f	0x25270ba8
-	0x75dd0748	0x770e7b69	0xd6dafdd2	0x0254ea84
-	0x427eb60e	0xf5a422b1	0x53fbc0e3	0xb470027c
-	0x3ff09ede	0xbecc9100	0xba2d3ea8	0x86295a6c
-	0xf3a8690e	0x503f198e	0x7498daba	0x4c04fd03
-	0xcebcfdcb	0xec671b62	0xeb98f36e	0xcf3d095d
-	0xfc627be1	0x7a6aa482	0x4961f814	0x82a9df39
-	0xeab68128	0xe618105e	0x603e4e80	0xd42305a1
-	0x2ab596b0	0x66ef4bf8	0xbe2d8a31	0x7571fd10
-	0x6ad34e73	0x77c92e69	0xf70829d0	0x243bca33
-	0xa41899b2	0xad3847d1	0x326085c9	0x1e32f76a
-	0xe5939032	0x2ef87117	0xedd0598b	0x0f5b0ab6
-	0x843d972e	0xbdedfd02	0xf6f281d2	0x806f8619
-	0xc0d4e6f7	0xc7c752e2	0x4cb18e8c	0xa3109bc7
-	0xb3c9d39f	0x5fed1b89	0xf56bf4a6	0x1ef9ad37
-	0xb6d27d00	0xd62e0e2f	0x427c1f76	0x64b708e3
-	0xe61b8094	0x58c140cf	0xc9ed8bfd	0x549d8321
-	0x887f495a	0x9b92965e	0x19dd4f23	0x48faa916
-	0x536988d2	0x5c41f555	0x78dd7a98	0x52c98af1
-	0xaf1aa0a7	0x472d9c18	0x5072ec30	0xcb8d8c2a
-	0x20ca2831	0x54741df0	0xde485e64	0xde719ed4
-	0xd0e4fa14	0xdbe68e08	0xc4b52f6b	0x7c478181
-	0x5ce15685	0x20bf9757	0x01ccdc90	0x3f59a540
-	0x09dfd538	0x96d5313a	0x11b8a5b5	0xb185b4a6
-	0x80b8ebac	0xdcbf7885	0x1f78d8ed	0x3f845528
-	0x8f10047b	0x31048ec4	0x08b16c82	0xef8212ce
-	0xba7e12b6	0xbb27b4dd	0x880c366b	0xbb9013e9
-	0x680e9afc	0x639c8dd4	0x67a899a9	0x95d99658
-	0xcdcd0ef6	0xd35bf9ae	0x73dc39ff	0x1159cdd6
-	0x820e821a	0x233b30ac	0xa5355178	0x508a060b
-	0x70f8eb69	0x7dd6cd6a	0xc9babdac	0x952886c9
-	0x20a4d780	0xcafe7a7d	0x4a564d22	0x23c88386
-	0x95dcd3ba	0x57e703c6	0xbafaa61d	0xd515f701
-	0x1634dc08	0xaf721b5c	0xdb4b52e4	0xcb54c7f2
-	0x1bdf64d1	0x7e798a76	0x20066741	0x1ecacec1
-	0x2d5be224	0x8eec039c	0xa2adcff2	0x6abe342a
-	0x15929ccb	0xde4a5a29	0xb0ef2733	0x51e6e38e
-	0x88f7ded5	0x9a7c3d12	0x0102cd55	0x1e5fa60d
-	0x43e10b70	0x17c67005	0x6d60158b	0x03ebc351
-	0xc1877454	0x99486475	0x68e31d63	0x4ef41164
-	0x1250792d	0xe2dbb2b7	0x3f041adf	0xc00f1ca1
-	0x0bf6b065	0x581d1496	0x6babf291	0x0cab401a
-	0x37305a02	0xd8b025f0	0xd9aad863	0x33378c27
-	0xfce64bab	0xb944fc9a	0x421cb71a	0xeaaf1a0e
-	0x08c62ae4	0x4be73168	0x95907070	0x7b40f3dd
-	0xa0273b1e	0xe4995d27	0xb6aa456f	0xbbefad85
-	0xdf650ed9	0xcdfde8ec	0x8f3ba9b3	0x6c8aaa45
-	0xbb938c57	0x2d26fcf3	0x1fc85e00	0x30338e08
-	0xe3502aad	0xfe0528ba	0x25c888e4	0x136224fd
-	0xe3fb8d06	0x8b521420	0x8d4849b0	0x128a5579
-	0x485bd52d	0x46ced7d5	0xe922bb2d	0x76d52253
-	0x976436c0	0xc3fa64e6	0xf900fa97	0x1ef8db2d
-	0x79a8b6e9	0x1ff2b058	0x61dd59cb	0x76eaffd9
-	0xdaad829b	0xaf929bc6	0x7f1461f0	0x28541e57
-	0xdb2223ca	0xb5a41af3	0x963dfe3c	0xf332afee
-	0xf01270c1	0x37fff0d5	0xa8db736d	0xbf6b8ace
-	0x060b9827	0xe04fa359	0x8483405b	0x526756af
-	0xf93bd116	0xaaf82ddc	0x3d800e46	0xa462a35c
-	0xb62236e3	0xab42ba34	0xb662603a	0xe8a24ea0
-	0x4b13879b	0x0271f215	0xb7227ebc	0x1c85b75a
-	0x06a7f989	0x5a58a071	0xf027ba62	0x3940d149
-	0x174c162e	0x1710f899	0xe50684e0	0xe58982ee
-	0xcb3b9fa5	0x545dd73d	0x42a33d21	0x14ce3ed8
-	0x151fc3e7	0x6fa96a65	0x60131642	0x20115648
-	0xe2fe3663	0x618bb9ab	0x9b2fe08c	0xce906711
-	0xb9fbe11b	0xce79c0a2	0x76320db5	0xd2b8956d
-	0x3c8fba1b	0xda7d5cfd	0x79930fde	0x7b1eaab3
-	0xe4190098	0xe46cc648	0x796557fa	0xe61f5c5d
-	0x85341adf	0xa01cc486	0x1460f8f8	0x0de8488c
-	0xc3575498	0xdaba60b1	0x6e00e9de	0x8de1e277
-	0xd7ef67e0	0x6f209a77	0x582ec810	0x4636f6cc
-	0x6bd9e60d	0x64ea05fc	0x580f9f7a	0x0f18218c
-	0x240f624a	0x0afc252f	0xb025c839	0xe6a5afc3
-	0xd5e32234	0xf30ced0c	0x90f032cf	0xb6fd59b8
-	0x2ef1aeb8	0xdd5d3fe6	0xa18a909d	0x65c3e9e1
-	0xe821d2f9	0x957146ce	0x86ea8c2e	0xea79a59c
-	0x91bbff8c	0x50efab7f	0x4a8c0919	0x11faafd8
-	0x3f3463b9	0x80e0e50a	0xdbcc8485	0x3f7c058b
-	0x4cfa4e1f	0xff8867ed	0x6bf2f6e9	0xa61daaaf
-	0xb718eeec	0xefe4f834	0xd0c4727d	0xec787df0
-	0x85bfe1f5	0x7329affc	0xf4c0ed95	0xa6a8b495
-	0xb3bd1c06	0xd38e0a09	0x26e3f747	0x6bd5ceb3
-	0x5eef12c8	0xd1011d66	0xb1dd692a	0xba1294c7
-	0xf7ddcb0f	0x4dbd2861	0xb29db408	0x051fb421
-	0xa4fd5f8c	0x1ad5a3d0	0xd95aee42	0xd52203b8
-	0xc4e76978	0x5780ee25	0xc38f6280	0x0e4bdb05
-	0xdeaf0dc3	0xcada9dc0	0xf7dd201b	0xffe07b67
-	0xe486f4d5	0x72a0b32a	0x518c1122	0xc240db35
-	0x1d7b5a09	0xa26636f5	0xe1b716fb	0x9158d0d9
-	0xfbe3b60e	0xd37c00dc	0x551615da	0xc7fde3ed
-	0xac94b6ae	0xcc87d6a7	0x0d010d6c	0xe1bc4072
-	0x8d8a4caf	0xf4381342	0xe3efc8dd	0x64be88ba
-	0x0eac9658	0xd10e87c6	0x8dc223f5	0xbbadd543
-	0x3ad28376	0xba68d553	0xbce5620d	0x1adc3d5e
-	0xa64d27fe	0x65086819	0x80b82c62	0xff91b5cd
-	0x97cadf1a	0x2cb0d45c	0xa73587ca	0xdaffecee
-	0x299e3888	0xb4c116f2	0xd7aee299	0x9c33d177
-	0x8af686c9	0xba6b45b6	0x47fe7688	0x1e49d908
-	0x721370a8	0x1220ffc9	0xeb62dcbd	0x4255a463
-	0x13ef302e	0x619bc137	0xce369fdf	0x3a1ded2d
-	0x88dc709e	0x4b10b186	0x582eba1a	0xb508101b
-	0x6e827983	0xb25e5755	0x9f29bac5	0xdd946461
-	0xa6b87255	0x92471f76	0xac61af93	0x670e9ae7
-	0xb3cc278f	0xb674f114	0x5616b751	0x527869b2
-	0xb6847ec3	0x7c94f508	0xdedd2e51	0xe322e023
-	0x3ef45d78	0xc95848ce	0xd53c243c	0x645d8456
-	0x1c510cde	0x243ad2e5	0xfafac2e4	0xc23ad8fc
-	0x481fe577	0x1f73fdc8	0x4cf5388c	0x8afb0c47
-	0xe39a7e0e	0x439e32a0	0x1a3af126	0xdd0ddbcf
-	0x56efe7bb	0xa4526c50	0x1f1e8d7c	0x6fff2758
-	0xa9cfc7c8	0x9aed3088	0x1419791f	0xc41006c6
-	0xe665ffb4	0xe0cfc001	0x5ac279f7	0x8dda44e8
-	0x6ba63b5d	0x11cd5e85	0x87b35603	0xfcb57486
-	0x64df1bbe	0x1df9ceb9	0xc2565187	0xbb6b4730
-	0xa60ba743	0xb50ca534	0x224eecf0	0x8acbd1e3
-	0xff2a22f6	0x00b94b20	0xb2bb1824	0xe3af6f67
-	0x78db1d5c	0xa3dfaa5e	0xb23a1a59	0x234628d1
-	0x46a0b6b1	0x6d7b354d	0xd7f14b18	0x492cdb7a
-	0x4b0e5fb1	0x3b210deb	0x82ba85b1	0xe5af7727
-	0xde5e2892	0xf4ba96b6	0x1011fde0	0xb96e65b0
-	0xb3f72d55	0x4388cb56	0x09f8801d	0x534eecde
-	0xa30f33cf	0x2454f5c5	0x5f32f1a1	0xd1d008eb
-	0xadb25f06	0xea32375f	0x71734ccd	0xc989e49c
-	0xb45f560d	0x49ed0d08	0x5ccf1394	0x5115dd15
-	0x46876215	0x20e6e84f	0xd5deaeea	0xe559d4f2
-	0x1e1c44d0	0x9f582603	0xad90b17d	0xf16c26c9
-	0x7f0708f0	0xfeb0b9e1	0xb853f20e	0x16f3ff5c
-	0x1789f6ba	0x236bb3aa	0x906f2ccb	0x255c8814
-	0x9d762cb2	0x2846e2b6	0xa34f8522	0x2502c2fe
-	0x698ad3e5	0x09c88175	0xdbee86b6	0x264167d1
-	0xcce5d399	0x78a3f959	0xa0a515c8	0x36c2db5c
-	0x5dec037f	0x56a558ad	0xa17a21b5	0xca0296a3
-	0x963a70b4	0x2733e44e	0x4f979549	0xf3738ba0
-	0x60aff2d1	0xf66ed176	0x8f658d9b	0x1e83fc2b
-	0x28a3d57c	0x1d50c6d7	0x434f286e	0xbbd6f950
-	0x5bfebf75	0xe366392a	0xbd328d7b	0xf10a2ad9
-	0x59504439	0xac3f2cb8	0x28cd3fd9	0x3776a6d9
-	0x5ac2b26e	0x25171f43	0xfb20e0e7	0xda4565f0
-	0xcf0cd438	0xf54f1ff9	0x33322457	0xaa368462
-	0x540acfd9	0x331fff32	0x8b66b3b4	0x19a74ca7
-	0xe3037b68	0xa4ddcf1a	0x48dfd4e6	0xe0302745
-	0x21522f0a	0x3b9f1cf8	0x2f7da1d2	0xd1e02b1a
-	0x89d834ef	0xc03b327c	0xa32b106f	0x2bfb3409
-	0x7f001db1	0x9ad9a334	0x0f2e5ed3	0x1063a583
-	0x6cb009d2	0xe9670521	0xdfcab184	0xd02add2b
-	0xfa7721f2	0x6e772878	0x11c5f0cd	0x1d228ded
-	0x54d84a8b	0xffbb136f	0x489a4619	0xf51cd9d7
-	0x6618cdff	0x76685892	0xfebcf111	0x02ee0a86
-	0x77ffdd9e	0xd36303bf	0xed4a8619	0x0160eb27
-	0x0b7ae017	0x7e3919a8	0x1b0c65ca	0xc8c7ef9a
-	0xdd593e48	0x48091b98	0x5ad15379	0xf9f54186
-	0x8c064d3f	0x09f23b45	0xb1bf1f50	0xdefe3c11
-	0x3d9c3506	0x328acb8a	0xc0efd1cc	0x7f3e472c
-	0xbd0855c8	0xc32d33ea	0xb2aedfad	0x5f9c5e3f
-	0x39fab7b6	0x3d58511c	0x74dce606	0xca5975f2
-	0x7adc328c	0xa7f2cf36	0x9084c11d	0xa25fccfd
-	0x0f5591e9	0x7c912a6d	0x6bcd5638	0x74174d51
-	0xe4f38864	0x545a4f72	0xad79bce7	0x68f23ea3
-	0x2c29455e	0xb2dce3e7	0xf75922bd	0x62d9d813
-	0x2ea9daf9	0x9544ba17	0x1036f50d	0x003d0734
-	0x6de2f91d	0x12de6d4e	0xbe6f77c9	0xcdc6f7e0
-	0xb7bc6908	0x8102989a	0x81b1ecc4	0xbec4c06b
-	0x57ae207e	0x0d9bf8ed	0xf82fd233	0x626e99b4
-	0x775ba43d	0xfdbe57b3	0x9e13e0ae	0x8f9e71cb
-	0x22e5b181	0x879a9646	0xa59f02b6	0x315bea64
-	0xfc2d998e	0xf3ee358a	0x465f0469	0xae5e30d1
-	0x8667c5ea	0x4d3797f1	0xdd9119c1	0x8a5c7526
-	0xefdbe49b	0xcba8bf75	0x31c56598	0xb089371a
-	0x50b88730	0x8b04e9ea	0xbe766234	0xb589b311
-	0xac86a2dd	0xf3cab9d4	0x8392e86e	0x459f4c2d
-	0xdc6e9e42	0x38fc7db6	0xbe1c3f55	0x87827bb1
-	0xd3fb2dae	0x29f65cb9	0x288ee868	0x44ef835c
-	0x5412f96d	0x8db90a63	0x619eb896	0x819145d0
-	0x4c334fcc	0xb28d29d1	0x71198c8e	0xcb7a1ec7
-	0x67d911c8	0x83e5b451	0x18dc1483	0x74d2d7fc
-	0xfebe405b	0x1b1865d7	0x552adee0	0x62e24345
-	0x4c772a36	0x047bfaa5	0x848961c3	0x86f2f24c
-	0x3f5db1e9	0x48c4d9c7	0xd7902c02	0xa0dfb8c6
-	0xb16ca129	0x7df0a350	0x58e2570b	0x6c0aefa5
-	0x2c8a35be	0xd155ab73	0x0801d1ad	0x913ac469
-	0xc6398211	0xa44aabec	0x74f991fd	0x122423d0
-	0xd1d7f77d	0xeccf8eff	0x59ecfdbb	0xb85cd73f
-	0xbd10ba8d	0x0c9880b2	0xcabcba47	0xc11e71ef
-	0xcb57870b	0x3a29030f	0x0bff4c01	0xf2629315
-	0x6686b1e9	0xd2b50835	0xec24eb6c	0xb23c7e88
-	0x045a35c1	0x5fb62127	0x2dcc31f7	0x5c47cd7b
-	0x1059b75c	0xe2d6d12d	0x6bc8f0da	0x30ade89c
-	0x35b06222	0xd13a1347	0xacbb2f8a	0xb7fc8acb
-	0x2edd849b	0x8d74157a	0x562d8d4d	0xa393948b
-	0xb89b904c	0x418eee39	0xd42898ae	0x630e1cda
-	0x96c56104	0xdd16c830	0x89ae9ec2	0x1e1cadb2
-	0xb8ea73b8	0xabaa7ad5	0x654ab956	0x17b2bb13
-	0xb064652a	0xbf9897cf	0xaabb9b9e	0x38a0654f
-	0x8bc378bf	0x11559864	0xd193ee51	0x3883fef8
-	0x461d458b	0xc35b1b22	0x570015df	0x2b18a043
-	0xab4aee83	0x4e0bff9e	0x323dafd6	0x8bec69ed
-	0x1846d886	0x0ed944bd	0x9a2b4a60	0x132616d5
-	0x86f3c871	0x76ee6765	0xe971f2cc	0xabaac761
-	0x59bf478b	0x0d83ee79	0x0883a1e1	0xbb4660cd
-	0x24c77bd5	0xed55f531	0xfaea8dbc	0xdfecc13d
-	0x285e5bef	0x7b14cc12	0x68cb6d5c	0x07b7a0a8
-	0xaf3d6e45	0xbceb6223	0x1eeaa87b	0xbf0f9998
-	0xf7582f97	0xce1d2f25	0xd8509595	0x1f6729ba
-	0xe3fccc36	0x7ca2d51b	0xa92c327c	0xe1b49064
-	0xe3cc87e9	0x82c05001	0x9d855812	0x0a7cda02
-	0x65017632	0x1b226e96	0xd4ffaa0a	0xc5a5e42e
-	0x04ba35e1	0x39f6606d	0x23668a62	0x9f670515
-	0x4fa60d9a	0xc8bd3911	0xd95d20c8	0xfe483aa8
-	0xbad0ea2f	0x3a443ce8	0x3857d9f0	0x4516097c
-	0x98d96ee3	0x11529725	0x85c93890	0x47461181
-	0xf6fbe21d	0xda939a92	0x1bf3d3d2	0xf5385362
-	0x31937784	0xa7b86d9e	0x42bbf80b	0xaa3c390a
-	0xf4b7d5bf	0xb1c43ae7	0x59efcce8	0xb69885db
-	0x2a6ff378	0x20f6ecb3	0x5cd55e2b	0xcb345f54
-	0x6ff1d8c8	0xa6766f2a	0x80b3f21e	0xb69aa081
-	0x7b685d4b	0x2b84356d	0xc8f7c968	0xdd9582cb
-	0x2ae3329d	0x2884e0a1	0xcfba6d58	0xe80ffa06
-	0x1d9e8104	0xb1cb5fdd	0xdff34ce8	0xa3d46b2d
-	0x229a693e	0x02c1ffad	0xb52810d7	0x94a5f91f
-	0xb2410f87	0xb827abdf	0xd608ca6f	0xb1091e4d
-	0x75b7eb78	0xc40d51ea	0xe8c64259	0xa2b38060
-	0xd3284d20	0xc7bcf1f7	0x380b300b	0x469fd0aa
-	0x39f0e4a8	0x58b56c61	0xe42a3c3e	0x95afbad6
-	0xd989f15c	0x12f9d899	0xaa41188b	0x5ef0a7dd
-	0xe50d22a6	0xceda0b9e	0x53e0fd62	0x4f974e41
-	0x78684102	0x743bc6aa	0x973a47ff	0x48a09dfd
-	0x815546e1	0x346ef0a9	0xd8b9f0d9	0x1f990a29
-	0x1cb7cda3	0x93b243b5	0x081298b4	0x8b1c0520
-	0x6740563f	0xad1275bb	0x82aeb54c	0xcedb023e
-	0xfa9275e3	0xac1918df	0x395ffc44	0xe52017e0
-	0x9b88236b	0x47229fe7	0xafe00678	0x1b506855
-	0x6cd90e68	0xee6332a0	0x806910a8	0xf42b4856
-	0x99ba5340	0x8a0f68d6	0x7a7442e0	0x01f543b9
-	0xd3ae2a29	0x82006e7f	0x84f3c581	0x945c25c6
-	0x08ebe7a0	0xa544b292	0xa828419b	0x17363dec
-	0xf772131d	0x59edff26	0xd05d94c9	0x86f00bb9
-	0x45ce081c	0x25916c63	0xbc881029	0xa52c11da
-	0x846b2a91	0x5802a2cf	0x4a8de481	0x2b418464
-	0xfc6c04ee	0xf23c0f6c	0xc470aa16	0x5f168faa
-	0x544e44ed	0x66e02d1d	0xe4316d32	0x5faa049a
-	0xa3b599c1	0x1712d5c0	0x22c049f6	0x0dcf6498
-	0x59d976ff	0x5729d27b	0x20667d36	0x5e94eb1b
-	0xfe9f912a	0x5b31c8d7	0x96754466	0xb5b7387f
-	0xe6557f48	0xc095086b	0x1876dd38	0xbe3bd213
-	0x2a956ef8	0x59cde6dc	0x79ef6f14	0xd479ac9c
-	0x4fb12aa6	0x1773ac27	0xc99a79b7	0x88319c2e
-	0x017171b0	0xe9322144	0x89ad5ffa	0x66bce095
-	0xe7feea4a	0x67457e06	0x4c85a956	0x91eeaf30
-	0x8e9a3fb3	0x04029d73	0x831daebb	0x15105d48
-	0x855d539b	0xe041b09a	0x64d2d1bb	0x3c3249f1
-	0x9e601a46	0xf6c06195	0x9304a550	0x07ba1e54
-	0xe0e41cbc	0x686ba561	0x92a1174e	0x8dae719e
-	0x7363732a	0xe31c5716	0x75ea27ac	0x20dce24b
-	0xcdd0cb3a	0x7510e7dc	0x6b438775	0x7dc88707
-	0x097883a8	0x9a0653ba	0xa5b58b39	0xb4dffe70
-	0x3dbf5354	0x1296bec8	0x6afea6f7	0x5a396962
-	0x44c59723	0x00197649	0x88476700	0xcebb0206
-	0xc6cb5364	0x01ab08a9	0xefc19a10	0x98b3dbb7
-	0x79290d1f	0xeeb1cee1	0x155d3eb0	0x0d1ad333
-	0xbecbaf44	0xcb494c9e	0xfaba7d92	0x8f0a38d2
-	0xd71aadd7	0x96898e98	0xfae22e00	0x5cdf8ce9
-	0xec12989e	0xc0e235d6	0x35ffad3b	0x0607e758
-	0x146c87c7	0xd441c093	0x94ba23ed	0xf9029146
-	0xb2a55678	0xd9575a72	0xc8d977ea	0x3e4ee1e9
-	0x929514f0	0x947b0b81	0x7659a020	0x1e889477
-	0x47fc8fc3	0xba26006b	0x11ba9b5a	0x296ee7c0
-	0xb9625907	0xce20ae26	0xab5c4ffd	0xc8fb7bdb
-	0x09b94a92	0x96955d13	0xcc165a1c	0x59774853
-	0xd033d21c	0xfcb748fe	0xcca14a49	0xf7c3bddb
-	0x1699d641	0x5a7df26f	0x800db96f	0x3f06e996
-	0x32cb5eec	0xcfed09a3	0x590f6e50	0xe0de426a
-	0x8818035d	0x3e864da1	0x9915f5a5	0x0c9f0e01
-	0xc039e81e	0xbd41702e	0xedeb91f3	0x58bb813e
-	0x58d88d4f	0xcc9aebb9	0x1f16b1f6	0x20289a23
-	0xfc74f52d	0xf76141fe	0xefeea38e	0xb264ab37
-	0x5761d199	0xa615c301	0x854a2586	0xece5890d
-	0x25687347	0xdd5b00cf	0xdc380b09	0x3679f957
-	0x8d28f162	0x8d192079	0xc5018575	0x84e7dc2b
-	0x6801ba12	0x0ff46ee9	0x05977f7a	0x2804d141
-	0x2d66aef1	0x12b96d1e	0xbd0fee36	0xeb61eb3e
-	0x3bfadea6	0xecc451ad	0x6a7c496d	0xa9df4093
-	0xba53eb3b	0x6fc140f0	0xa10e0b45	0x7177ac62
-	0xcf5fb075	0xf15384d3	0xe76956d2	0x6bfe3cd0
-	0xd4c176b1	0x7b83caa4	0x6fcb1c28	0x7013d243
-	0x8303b45f	0x77217eec	0x5f04b4cf	0xed77af47
-	0x4ee8c05b	0x84d50949	0x4af30115	0x6536adfa
-	0xe3460043	0x42d089f5	0x6e7b3b0a	0xa33f554f
-	0xb2f9a7f4	0x8b1ee0d4	0x75b77494	0x5084f874
-	0xd12a5561	0xe22cc792	0xc5b37ca4	0xd3325f7f
-	0x941da42e	0x5f3faf13	0x4d328409	0x2efe01d3
-	0x54742b4e	0xd07c956a	0x57f65956	0x6c1af66e
-	0xe0a2f710	0xe90fc5fb	0xaabb9038	0xb1b78f53
-	0x2235d7ef	0x5421ca3d	0xc2d423e7	0x0d44fe4f
-	0xcb104bc7	0xc68e796d	0xc9f45636	0xd019c30a
-	0x14bdaf28	0x8c1a1651	0x90ab3551	0x9f19da7d
-	0x9b987a22	0x8d49388b	0x89c83ae3	0xafa42208
-	0xf29b54a3	0x83bc5cbe	0xe250c960	0x2c902a21
-	0x057042d0	0x6cfce181	0xca9a5abc	0x43739c7b
-	0xdcaa30b7	0x658f0a5f	0xfc3a3524	0xf1d40104
-	0x611b0e9b	0xf50e2887	0x0fd173f1	0xa0e9597e
-	0xd70ca0e4	0x66657238	0x4c6b155d	0x46021c60
-	0xf6abb98a	0x8b8eca83	0x63a6b1c6	0x000761db
-	0xb9280399	0x68593f55	0x7515caff	0x2c50e58e
-	0x512cab6d	0xebe2dd7d	0xe627fe0f	0x1c85dc4b
-	0x867a14e9	0x5052f8d0	0x8c4bfb3b	0x77047e84
-	0x650c4f5a	0x8f28e68f	0xe50223bb	0xd38f07d5
-	0x1924055d	0x0a89a801	0x9ebb9896	0xd4c7c7e0
-	0x6edea478	0x74ec0a2a	0x4d70ace1	0x1f57c098
-	0x9acae446	0x2d695902	0x0b7b67bb	0xf2c1cd8d
-	0x9d999240	0x02916fc1	0x9eb6f334	0xe7b45cc4
-	0x1155b93b	0x8a101032	0x71a1014b	0xf01bb4e8
-	0x04a38871	0x57d7d947	0xa7b9d28b	0x3f7969d0
-	0x3aca24a4	0xf9d4c499	0x2220fe8b	0x94b1f831
-	0x42f919fa	0x68bed324	0x15a50bdc	0xe29db9d4
-	0x7fb44468	0x3d82d179	0x4736a849	0xc04dbc09
-	0x797c4eba	0x7a6e09e6	0x3704f556	0xe0200cd1
-	0xc52dd55a	0xc80971f0	0xe6c01cfb	0x8057e7bb
-	0xd36b505e	0x85d81001	0x569f284b	0xf44d32cd
-	0x8b6860e5	0xa65bcde5	0xe55c743a	0x9a8a1caa
-	0xd3f91d2b	0xb27506e9	0x82316358	0xbe864575
-	0x809bb916	0xc978bc53	0x4725378d	0x30e50762
-	0x67586f24	0x01a9fcb6	0xe9f6c5b9	0x19719844
-	0x9fb9fad4	0x08c4b450	0x4a45b9ac	0x3048f27b
-	0x077c4a30	0x4aea9304	0x3b2a2216	0x3cf58019
-	0x84f1cf20	0xca0eb68e	0x50775bc5	0xd1f7aea7
-	0x8ae46127	0x54edb313	0xf845afb0	0x61f398d3
-	0xf536b987	0x0b9e6912	0xdb2f264e	0x78e46fdb
-	0x41fbda89	0xf03fe81f	0x187c1ef1	0x17bc721b
-	0x41cf8c8b	0x9b011fb1	0x1aeb5155	0xd0a0fefa
-	0x6751ef85	0xd5d88dc7	0x10825111	0xfc087529
-	0xe33dffad	0x6e82678f	0x50cb45b1	0xd5cc582b
-	0x5df4b1f5	0x6f4f0276	0xcd6aecb6	0x80c6602b
-	0xaf862a20	0x882518ae	0x69fbcf16	0xf3e38188
-	0xa7b35576	0xe40eb7b7	0x879a2088	0x55944f95
-	0xcf7672f2	0xc4541a5c	0x6e09ad3a	0x38075dfd
-	0x2ed6c693	0xc4fa0139	0x671c3821	0x038d5dc5
-	0x09793c52	0xb6a931be	0x453d79e9	0xecd6cd11
-	0x960f0fae	0x7649359f	0x19766e8f	0x4a7fb57d
-	0xb18746cb	0x8c3f492e	0xb91a220a	0xaa889e36
-	0x246cb452	0xa7f61e5f	0xf9fb9e07	0xef7c0d56
-	0x4f8d0024	0x082dd2a2	0xa8c091f1	0xd7466121
-	0x10c79d8a	0x3300740b	0x6d1f3780	0xf60f731c
-	0xf2d58803	0x6a80b882	0xd5d9c4fa	0x3dfc9be7
-	0x9dfe48fb	0xed7e7e88	0xcdd5dbdc	0x485b67d4
-	0xd19f715f	0xce7d6a99	0xed483597	0x2f0eb52b
-	0x7546c358	0x54f1cbcc	0x5df93879	0x79693708
-	0x8eba40f1	0x8f705e5c	0xd1154fc1	0x9f99ac65
-	0xb92d1d22	0x07c98e9a	0x21a14255	0x78c68738
-	0x7cd994da	0xbad78e73	0x463d5997	0x83a71109
-	0x53bb8986	0x15bd8dc5	0x7e1f1998	0xa8c5391b
-	0xc5abc962	0xd9a0bd54	0x48f64292	0x77410557
-	0x09db7193	0xf835577c	0xfd0f32fd	0x578d5fe4
-	0x198232a3	0x5e332aa4	0xce6b2647	0xeabc740e
-	0xf8e545ba	0xcd7d6c42	0x2776f043	0x3f0486c9
-	0xeea7d9b9	0x6773671d	0x08043447	0x290896a7
-	0xe5d05e2d	0x1701dd00	0xe2ac31a2	0xc7a96166
-	0xaff6d0c2	0xfd73837f	0x0bd95906	0xdbbbd03e
-	0x93406214	0x8e4827ef	0x67c7af4b	0x2e83eefb
-	0xac7857ea	0x6a3705ba	0x0e6694ad	0x5b7cf57b
-	0x12b302ab	0xe302c65a	0xb86a70e4	0x558c3c3b
-	0x516b9e0e	0x14a404ac	0xc2125bf6	0x7b004a59
-	0x65781699	0xb455f1c2	0x1f1f7b0c	0x800225a8
-	0x382ec77a	0x31f3d8ee	0xeedbcabd	0x6b95ea73
-	0x7a3a3f50	0x49b810d1	0xb682073c	0x36971f10
-	0x10eec5e1	0x9b9354cf	0x220dc62a	0x0f901007
-	0x204baa07	0x8b028c1e	0x7e4fff42	0x19123ff4
-	0x0219d4f0	0xfd355ae0	0x82e8c025	0x04daa19d
-	0x1d65eb84	0x282aa6ae	0x40dbee56	0x906b6b46
-	0xe1112280	0x031a9dcb	0x61dd8e8c	0x42504f64
-	0x1cb256d9	0x569448f3	0x9ed09cc2	0x52cffe5d
-	0xa0d21264	0xad756a66	0x42743067	0xbc6a7470
-	0x3950b8e6	0x62a4ec00	0x1743a299	0x659adbca
-	0x7206b852	0x156b6cf0	0xa54cca90	0xd4f789b8
-	0x177e7e86	0x6b19f13e	0xd7fadfd1	0x68ef1abc
-	0xbad802eb	0x3802a623	0x43b08974	0x23bc8939
-	0x8ee2bb67	0xbdc11c8e	0x2efbf4e3	0xc550bd4f
-	0xfb7e6923	0x9fd78d20	0x0238fc36	0xa733dd00
-	0x1ae532d2	0x83f4e497	0xca0f4cdd	0x3b204df2
-	0x0d5084f2	0x15da2f6a	0x904b1dc3	0x7418ce5e
-	0x28258fee	0xbc0292b7	0xf2002944	0x73720375
-	0x2486734c	0x1883172b	0xe1dda0b6	0x8e1ead82
-	0x18e47d65	0x9b8178a1	0x0251a0af	0x5a8577c3
-	0x1c5ce32f	0x0220633e	0xc90c9de8	0xe63cc5b7
-	0x7f334c91	0xfe0e70da	0x0af05ce6	0x8506f70d
-	0x52ee885c	0x1c723bd5	0xc547fa0b	0xeaf183de
-	0x5bf6e086	0x436d2b8e	0x3d7ad97e	0x9b766a06
-	0x021e0e79	0xdd17bae6	0x04607ea8	0xb8d174a6
-	0xc3b99816	0x9f2bf1fd	0x6521b1c9	0xc6373e8f
-	0x9c472d66	0xa71f624a	0x14af923d	0x52266735
-	0xa0a0bb3e	0xba8d52d2	0x54c78a14	0x4dd0708f
-	0x190c6c33	0xbfcc1963	0x3ed502c8	0x0766a192
-	0xe1724557	0x32271339	0x6078e163	0x8de0c570
-	0xd8e8dd17	0xce6b4b31	0xb341a175	0x8b8da109
-	0x557dbde6	0x4863ddc1	0xd345fd2d	0xbe39b49f
-	0x0b46caa9	0x572a2334	0x67d7e89e	0x658e947b
-	0x6afe994a	0x17bd769e	0x054b5949	0x850db30c
-	0x20ac6bb6	0x50480eb7	0xe06ebba0	0xacb7497f
-	0x1dadb5c5	0x4d33366e	0x8559d54a	0x7cce6ef5
-	0xfffed33f	0x7695b9c7	0xbec2d062	0x92a1c084
-	0xe0220148	0xfef08bee	0xc3ee1787	0xbe7151b6
-	0x86c8e888	0x4cae3d51	0xbeb8686a	0xa4b252b9
-	0x54d8cfd3	0x8d38b0a7	0x2f8051f8	0xeb3e0808
-	0x7bd6ef4a	0x6d3850d0	0x718b796e	0x20aa1cda
-	0x0a2ae34a	0x1f786b4d	0x1ef65ce3	0x5a710df0
-	0x618056a7	0x1863794c	0xb98ee235	0x9627fafe
-	0x48c9dc0d	0x33a09717	0xc985c1e1	0x0dcd0297
-	0xd8559f14	0x0925fff7	0x1ec6e43b	0xeabd0343
-	0xdf224c30	0x1560e2d0	0x11072a5e	0x5439abec
-	0x68539ad2	0x7e220044	0x8a1285a6	0x1728d4a5
-	0xf9d7cce1	0x6797757d	0x65c9101e	0x6e40134a
-	0x2a3bf252	0x5859d1c3	0xd42d7037	0xe519f182
-	0xa52ca09f	0xa4b8a207	0x3e2c5afa	0xa2dd1581
-	0xfc43c1a6	0xc10737bf	0xc3196027	0xdbae602c
-	0xa8b8bb9d	0xd092e4ae	0xd08b558f	0x41b0c1e1
-	0x6523934c	0x2c339d81	0x903f234e	0xb24cdff6
-	0x98e056ff	0x7f3d915a	0x87d1fa96	0xfbf87d09
-	0x9543241e	0x5d7df767	0x81082a30	0x206e5ca0
-	0x3c78dd55	0x3c4ef16f	0x0cdcda86	0x41b65308
-	0x04001fd9	0x51647a1b	0xd0eba6a6	0xea5b6d04
-	0xe6040387	0x0d8bb27e	0x68cf3432	0xd05a4c2d
-	0x23c1f2b6	0x17241b34	0xebb1ca9a	0xf37a448d
-	0xece67298	0x0487a8e5	0xfcb0bcef	0x31be2771
-	0x82bce53c	0x85b84892	0xdabc1c6e	0xfa2abcdd
-	0xd1df67c0	0x16f1ede8	0xff1a16b7	0x0d8c5570
-	0x51fbe82b	0x8bbb72cc	0x2329bada	0x3085b33c
-	0xb57804b1	0xb0e794b0	0x15c12782	0x607ef889
-	0x0f812dee	0xf4cd98ef	0xb952b6f0	0x5a58331d
-	0x5ec46323	0x125057ea	0x622c0ff6	0x883106d2
-	0xfb3dffea	0xdc3e0223	0xa97ab5da	0x654600ad
-	0x933167a6	0x374ed2a9	0x937eb718	0xd9501125
-	0x1ab096d8	0x7c9e0cbc	0xe4977ce0	0xc5f10f9d
-	0x34d150bb	0x964e8a96	0x45ca9ad2	0x4682d4cc
-	0x1a547f3f	0x48fca7f6	0xd7bcc4a6	0xd97d99ae
-	0xd8f0abc1	0x66cc1dc0	0x97db316e	0x8a382cab
-	0xbfbd6c74	0xa48d1b1c	0x2699542e	0xfd497691
-	0xface9d1f	0xb9efda89	0x4bbd1fc2	0x92f8afc1
-	0x43b37edd	0x6dde4632	0x3919ef3b	0x895378e1
-	0x87bef27b	0xf411bf33	0x656ba5fe	0x8b265339
-	0x50901749	0x3bde1f64	0xd6ca273f	0x896cbaf0
-	0x94122826	0x34ea9bf5	0x15d3043b	0xf332ff70
-	0x2b95d76e	0x57a79ba3	0x71c1f063	0xe71fc35b
-	0x8f07ee43	0x048ac612	0x65aac513	0x68ea6eb7
-	0xf730ded5	0x4402fb34	0x70ac795c	0x69800516
-	0xb1b869f3	0x6f4bbd00	0xe7447778	0xa36497f4
-	0x1c59ed09	0xb2992d4a	0x93c6a1d3	0x11d3ce10
-	0xdef0a673	0xe86e3d99	0xf1468e25	0xb272fd13
-	0xd407426f	0x95497062	0xcad1dae1	0x5a483a78
-	0x0bdb41a5	0x2899f32b	0xbb8bac96	0x5003c23b
-	0xf88ffbad	0xf4155bd2	0x4dea88df	0x5507bfac
-	0x86bd066f	0x7c993d88	0x89ad6efa	0x2dc99462
-	0x8d634a1d	0xebd312d7	0xfc8a8549	0x26f6cc24
-	0xdfc6c501	0x9615c1c4	0xa48293ef	0x52aa4e4d
-	0x7c1126b1	0xed10ce8f	0x39d15759	0xf6dd7f71
-	0x2f4d86f5	0x151da4d4	0xd9175dd4	0xb2d20142
-	0x20fe7518	0xf35752a8	0x37ae7efc	0xc210d83a
-	0x5d9ff559	0x33e91d21	0xd1c7714d	0xa98c7599
-	0x8ee50ccd	0xc747a3b1	0x9dbc5317	0xc25ae129
-	0x51b3647e	0x25aa4406	0x6e123b35	0xcc8fe12f
-	0xdf9c6d92	0xff1e6b44	0xc294d3cf	0x458dbe77
-	0x8176b64a	0x4daa895b	0x5ecc9d75	0x1b570965
-	0xd563bbb7	0x297b9784	0x4129fd5b	0x77beeb2d
-	0x82bab257	0xca55d798	0x4d413dfa	0x27214528
-	0x918d94a4	0xe9dc1881	0x17a00e62	0xff38fe70
-	0xf0578886	0x99fc567e	0x89728e9e	0x267a192e
-	0x5e16982a	0x5da1f959	0x3c407435	0x9c5cfe85
-	0xa7626913	0xb1145c57	0x174daaa8	0x0487ef1a
-	0x11d7b896	0xcd48cce8	0x464ceff1	0xbdc0f36b
-	0xffdc957b	0xb94233f9	0x61dd9f4b	0xfbc1fe7c
-	0x45f0195e	0xd7c92251	0x6c4ba5b1	0xc780a5a0
-	0xe8fc9220	0xa7ca21ed	0xa82eab05	0xd6050a60
-	0x68bf3f0e	0x50214ae8	0xb83e6b76	0xa435330c
-	0xefe62d27	0xd3b40484	0xe96a563c	0xc93296b2
-	0xd1531895	0x5db76e04	0x491b827a	0xf160fcf4
-	0x4b82737c	0x3c72de73	0x1996e649	0xd2d79c59
-	0xb1263519	0xb8660e24	0x4b07996d	0x71df252d
-	0x58f95a70	0x8618a823	0x94239726	0xd6d92a80
-	0xd8142a6b	0xc98c3175	0xfaa52b59	0xe91fdee1
-	0xd9a1fbff	0x8d63a59a	0xe0bd9077	0xbb1cddda
-	0xad57fea1	0x32af0614	0xea652e8d	0xa02ef7b3
-	0x07440720	0xbac50654	0x5e32309d	0x444a9d5b
-	0x9c5d9ff4	0x6b0ef745	0x248f1f75	0x7d87e2e8
-	0x27490681	0xfc2a7b49	0xd81d2e73	0x76b09294
-	0x4512b27e	0xcd72c2f1	0x41d3ba4f	0xc752688d
-	0xc22a2077	0x45a01ca2	0x82b5ba56	0x9f12c039
-	0x44cc1b0f	0xe8b8353d	0x0c26d80b	0xe54b917e
-	0x62df727e	0xfce091be	0x79ca5f3c	0xec222126
-	0x4df04d01	0xcd7566d0	0x839eb434	0x9b6d3415
-	0x61fda637	0x3549727b	0x44117109	0x9d1c3ed2
-	0x2c3cfce8	0x2e2acd9d	0x4ba9129d	0xbe14efef
-	0x5d07e000	0x2081f339	0x1daf0bc2	0x74d098c3
-	0x301e59a7	0xfd696b42	0xfc4d3387	0xa5c09d3c
-	0xf8b0e4d8	0xadd63e51	0x5815b319	0xec7e8516
-	0xc8d93178	0xdf1b9e1d	0x22107d46	0xa3a99acb
-	0xfffc3859	0xd00561d4	0xb383323f	0xf6b7033a
-	0x90f781a0	0xf5f2ce72	0x6eb3fdf3	0x8cc20a5b
-	0xc97c9c66	0x95135ade	0x24880471	0x9bb65b03
-	0x81b19c7f	0x700d0f5d	0xd13737b5	0x6607133b
-	0xfbe4e7d6	0x3c4f45fe	0xfd6782c1	0x93aa0e29
-	0x5e80ece2	0x16609c87	0x238ba834	0x1ddda4b4
-	0x6d07bef6	0x23422da6	0x034a0e64	0x9fbd2d4d
-	0x29f9bf71	0x009ca5a7	0xf483d433	0xcc5b600b
-	0x6bc292eb	0xbbec5d01	0x3e45ed47	0x1f19013c
-	0x9beb22ac	0xab5e821e	0xa1430d82	0xd88d6684
-	0xf8e70a20	0x4e267714	0x32740299	0xc87b9d0d
-	0x61e7c75a	0x967f007c	0xe1f93f4c	0x11a1c3a5
-	0xbbee7b5f	0xd1ef645f	0x141aba51	0x70694200
-	0x71945636	0xc9dde72f	0xc5955db8	0xdbef5230
-	0xbd17479b	0x53159bd5	0x0878bdc2	0x9fdd9d07
-	0xaf67a519	0xadca8377	0x13841851	0x97f464f6
-	0xea749381	0x47018b36	0x42cfffdb	0x2366f112
-	0xe280757d	0x7426dc87	0xcd5252bc	0xe5bdda7d
-	0xc9728a8e	0x8e08cd82	0x66797c08	0xe1600e06
-	0x149121b9	0xf9ea0e1b	0xc3da0d90	0xde18b684
-	0x0c568801	0x58e83138	0xfe3fe553	0xc52b4e60
-	0xb6afb01c	0x9154fba6	0xddabb2f2	0x018eaeac
-	0x7c9640d4	0x9c7c86dc	0x41b8d514	0x8bd27333
-	0xf07f842e	0xb75e7858	0x990187d3	0x316ef3a6
-	0xfaf22ada	0x95356100	0xd0ed3ad6	0x3d9951bd
-	0xd4aa1b22	0xf3a6ad11	0x797f6e48	0xb2428538
-	0x91466c20	0xf17569d0	0x62d5d1b3	0x5a3d69e4
-	0x6d869d97	0x82a84e5d	0xf6a45cdd	0x8781c19a
-	0x0dac70b8	0xe79a4712	0x4617b8c0	0x3167f846
-	0x9c6e7b77	0xc60b0e08	0xd85879c1	0x2be3a597
-	0x06a6daf1	0x80915697	0xa3452bde	0x9cfd11d6
-	0x69be41f8	0xebcadb24	0x315dcb53	0xc35f3e59
-	0xd5b2edf3	0x443859d5	0x7d54f6a5	0xdcdac118
-	0xe767ecbd	0xd017fb76	0xd0e7b4eb	0x8d9bb8f4
-	0xce7b7d9a	0x92c0b4a2	0xcd5d8e1b	0x6f83d592
-	0xc17f2b68	0x2cdab9c7	0xb6e70484	0xe5fe74c6
-	0xe87747d2	0x228d5a4e	0x9dde03e2	0x9a14ba34
-	0x471229ca	0x69be2353	0x74450c0a	0xd1eb650d
-	0x78501400	0x1c4f2372	0x1fa1b6fb	0xaae57238
-	0xd724663b	0x05f5c43f	0x402bc254	0x68877f3a
-	0x57e6c691	0x0a51ef53	0xb65a2733	0x57431f71
-	0xceb73088	0x03c761af	0xb4542581	0x23933fee
-	0x4d726fc8	0xe6474d89	0x4816a760	0x97f68d6e
-	0xb892a46f	0x1fffcbc0	0x63f9c6a2	0x19ec45f7
-	0xad0f5d1a	0xe1436104	0x02db0bbf	0xa88a4df2
-	0xca060341	0x7bef4581	0xbbfae170	0xedf98d3a
-	0xc3972d10	0xce08a7a5	0xf2554832	0xb22c4280
-	0xf51295a7	0xaafe76f2	0x0503afd6	0xadc0191f
-	0xf788a6a8	0x32dde44d	0x2e148322	0xe4f4dd86
-	0xa8012f5f	0x68950d8e	0x40ba9fb7	0xeff278cb
-	0xf1f29ebb	0x5f273270	0x54db6ab6	0x032c76d6
-	0x28b7a8ba	0xe06ee4ec	0x95b4c36f	0xf895a4bd
-	0x6e886a7b	0x29ca6362	0x5ab44a12	0x122b4b0b
-	0x77542b75	0x4254355b	0x8ba85616	0x78f02722
-	0xad2c32f4	0x7a8b56be	0xda66fe2b	0x1018c515
-	0x8e963b24	0x492cd4fa	0x8e8daa8b	0xbbf9a920
-	0x5e1c170b	0x5b55acbc	0x96a08ca9	0x87628e01
-	0x7daf9cde	0x402b7363	0x704db5b5	0x4ed3e581
-	0x0b76bc99	0xee629701	0x976cfef1	0x222eb820
-	0x1eae4155	0xce2c39a0	0xfc80e3ff	0x46604921
-	0xa6411e39	0xc64f34d4	0xc2506d0d	0x9175c98e
-	0x2b41e939	0x9f612788	0xe84717b2	0xdd5f3d18
-	0x011ccf8c	0xd47c6dbc	0xc42724e4	0x4ecdb867
-	0x88c2fc65	0x7146f321	0x426ce2d0	0x21874594
-	0x94752082	0xac96eef9	0xbfaa8f43	0x4b599929
-	0xc40c67df	0xc2f88319	0x6c13b780	0x0331ddf3
-	0x03141f93	0xc8792b1d	0xa5cbe506	0x68424a36
-	0x35fe7a9b	0xc42db001	0xa2c5e600	0x2e9f8f21
-	0x7733f912	0x24b163b0	0x71003270	0xe5a5c52a
-	0xf08c8455	0x9f6b0203	0xfa048b10	0xfb2ef899
-	0xe9b81eef	0xc5d91db3	0x604bdb10	0x30a2bab3
-	0xbf75341a	0x1609bb55	0xfe4d07ec	0x0ffabee5
-	0xbfb339e1	0xb3f43c0e	0x66cd4d8e	0x752b5a86
-	0x9908cfea	0x237d4b88	0x1e4c78d1	0x41914cb7
-	0xe2d72121	0x815cc67e	0xfbf32db4	0xd4ab50c3
-	0x5b8f8ca4	0xd7f0225d	0x75662558	0xe1586c50
-	0xb9add021	0x1475644f	0x7d4d1e0f	0xb078549d
-	0x64edd4ae	0xe9aa17b1	0xe03324aa	0xad30bdda
-	0x2f27b674	0xf65879fa	0x5b5d7360	0x75905386
-	0xc2ecd3f8	0x373566df	0xb7de23e1	0x91805774
-	0x86162380	0x449b798d	0xaaaa35b5	0x0c72c757
-	0xda4f445f	0xa83096b7	0x86002daf	0x7749832b
-	0xf3a61bab	0x5feb28a1	0x26ee7610	0x5a5c40b6
-	0x42c9ee14	0xc4dbb8b6	0x1f67936a	0xe1b56bbe
-	0xe027f6b9	0xe63fb059	0xc88bc732	0x3111de49
-	0x35c2305a	0xcbf91704	0xbd792b65	0x36de53d2
-	0xe2de429e	0xb90aad73	0xa9f473a4	0xca054a43
-	0xa984faa3	0xe8ddfb62	0xc36104c8	0x95e7e647
-	0x17437e84	0xa20c074f	0xb5609b79	0x468c3b7b
-	0xc0bc3e20	0x368c94fa	0x04ff3519	0x60b01b2e
-	0x4a3ad0b2	0x4d8b4633	0xb1dc5e67	0x7e14c0be
-	0x58a6cde6	0xc88980d9	0xb4ca1c86	0xe17c13bc
-	0x3efb7728	0xadecba18	0x369ab25f	0xcda74fec
-	0xe9c4c6aa	0x55590211	0xbe191ec5	0xed8ffbcd
-	0xea3bd84f	0xe1fde7c5	0x5c788a9f	0x31a7b858
-	0xd65315a8	0x62be6ed6	0x04b8be91	0x73548a2f
-	0x93f9cbe6	0xcae8695c	0xea678c66	0x618251bf
-	0xbe8920fc	0xf4f76833	0x15ad8be7	0x5ccf9cb0
-	0x8d6a4fb9	0xe1a946c0	0x00fe7631	0x6abf0c2a
-	0x72fbb39d	0x72bd5bac	0x7d679c95	0xaa5ccef7
-	0x6df60938	0x9f08de64	0xb13afd73	0x61e2cc19
-	0x31485e10	0x2e125f53	0x74021ab6	0x43fd53f4
-	0xe506757a	0x454bd201	0x84947916	0xc89e453b
-	0xa92324cd	0x3667608a	0x28e2645f	0x17e1f1ad
-	0xa300d261	0xc9662fd3	0x987795f5	0xad6c0302
-	0x55d47cc3	0xe96259cd	0x0d67ce7d	0x07bccb37
-	0xf43d61a5	0xbd7131a5	0x686bdc7f	0xd570d5e4
-	0x9ff9331a	0xac9d1d6e	0xa1702a68	0x4a5775b9
-	0xa5624641	0xf65bd241	0x2ac16f90	0xe3413b5a
-	0x17ffa019	0x9d46dc7a	0x2a3081b6	0x857ce29e
-	0xe6640ac4	0x6445b538	0xad3d7e1c	0x9b79c366
-	0xf462361f	0xd1097ef6	0xca1c68f6	0xb5f30167
-	0xc14a23d8	0xc10dcd22	0x2a2fc332	0xfb253533
-	0x65fdf0b5	0x404b7ad8	0xa9ba6f4d	0xaba569c0
-	0xbaa52473	0x0e4627a8	0xc5f59463	0x362e6c4e
-	0x4b2a486d	0x0259c34b	0x28c473f1	0x503bb776
-	0xc5c0c537	0xa8b225c1	0xeea3c262	0x576dd495
-	0x571ada41	0x9f7cd0c7	0xd7496acd	0x05feea00
-	0x41201b9e	0xc77a94fc	0xe9bbcdcb	0x57b23f11
-	0x0804834e	0xd03b6bc7	0x01010b7e	0x1398ab11
-	0x16c14655	0x3c6e5e32	0x420bcbd9	0x8047a032
-	0xf70c4e5e	0x2a3e76ac	0xedd3223c	0xbbba8d71
-	0xba2a9916	0x1b83f930	0x4c93f25b	0x79731cc9
-	0x77925eaa	0xb2fee6dd	0x01f12a1b	0xd797d09f
-	0x1d63619b	0x2b04daaf	0xcaa55fcd	0xc4628c52
-	0x930f5701	0x0293b2d8	0x00e82920	0x3c4f3f60
-	0x6c0990ea	0xec07864f	0xfd650432	0x5bdb68df
-	0x9d138863	0x2a06928c	0xe0f69d3e	0x5310dae5
-	0x5bd2c0a7	0x775d764f	0xd8aadd14	0x20ba7850
-	0x358aabd2	0x192ce2f0	0xfe029fcb	0x9a787089
-	0x032bd81a	0x2033745b	0x11b36de7	0x38e63443
-	0x26a6a138	0xfe1b4cf0	0x8e8c2e54	0xd8d68982
-	0x1f8bfd73	0x11132e4d	0x217497b3	0xa882ae2a
-	0x895350e6	0x58042447	0x027e3513	0x9b23ecfd
-	0x0368bfc8	0x1f2bb5be	0xe81d1738	0x69176a5d
-	0xb4e0531d	0xc899b145	0x9fd09aef	0xabf6b854
-	0x2f1856dc	0x4186e028	0x02aab53b	0x0231c01f
-	0x543d0d94	0xbc207922	0xef61da69	0xe1056724
-	0x67fd8072	0xc98426e2	0xc7635142	0xff184885
-	0x653f91f3	0x1ab5cd1d	0x133df7d9	0x67b35000
-	0xb5880c56	0x21e4c4b3	0x6773270c	0x1c30a75d
-	0x360b8cbd	0x0efa143e	0x025c298e	0x8bea4b71
-	0x903465e9	0x99521cf4	0x2e1857e7	0x13266774
-	0x72f6d2f6	0x36a1a4fc	0xf0e38e70	0xc9d613d7
-	0x765b045c	0x28ea90e7	0x99766fb3	0xcdb93ca8
-	0x4ef82ae9	0xfa083dbb	0x280d6bc6	0x5fa6f9f4
-	0x8232c95e	0xe899ae64	0x9757bcb7	0x7b9a3fbf
-	0x7ee59763	0x707c1e8f	0xb09b26cf	0x39b130f4
-	0x57b13cca	0x9431c3bc	0x03074f78	0x77108240
-	0x2243cf2e	0x79f1c09b	0x2d7051d7	0x1e896e0e
-	0xfca3c98a	0x033f9d17	0x8a84fa5f	0x54ef6d59
-	0xea4f038d	0x37de0f3a	0x290fdf6d	0x87a99d3f
-	0x03539027	0x423a6a72	0x1751d4ef	0x3307e618
-	0xff81f836	0xeff8f63b	0x5fd7f014	0x5d2a7e84
-	0x9bb1c22a	0xd90f6902	0x53594d40	0x2a06777c
-	0xbfb045d9	0x3a994642	0x5d3bb1c9	0x92ebe0c2
-	0x1351d163	0x1d164e51	0x646facf6	0x5a09577c
-	0x1d67f8e2	0x5857aedf	0x4325f877	0x40b104d9
-	0x417b2244	0x944a7154	0x46887db2	0x8e5c72f6
-	0xb1e4105d	0xe23955a6	0x32c458f7	0xc5b0adfc
-	0x45b48308	0xccde9154	0xa84cfc72	0xc4f67710
-	0x19a5d6c9	0x18feea83	0xf731b3f5	0xd26e63c9
-	0x3869ef48	0x70b962d6	0x5f2b4ba3	0x5dd5a9c3
-	0x1efc97a6	0x09be830d	0x791d72d3	0x53f2948a
-	0xf5bdc706	0xa5b6aeb0	0x6c35db0e	0xc312c33b
-	0x6dca7a95	0x9f890aae	0x75308dfd	0x7de2239b
-	0xf530420c	0xe085f9b7	0x2d48c359	0xa8d1fcef
-	0xcb3f9669	0xdf491f38	0xc59ffdd0	0x995cda92
-	0xdef37f3b	0xe056b574	0x676eafd4	0xd4bd9336
-	0xda3ada02	0x290cf756	0x991efdaf	0x2f70baa2
-	0x515ced1a	0xaa0fa199	0x77f09ee0	0xafc3d840
-	0x79e5ada0	0x7900a254	0x4ca65cb7	0xb3eaba8f
-	0x98cd17e0	0xe179d477	0xe80d2f39	0xd89f3b4c
-	0x8d3ca0dd	0xd1d87ab1	0xf9368d54	0xe885ded8
-	0xd500c7f7	0x04910374	0x7c6467be	0x5ad058ce
-	0x5f8885b8	0x08a4a3c9	0x90583a94	0x369f4c36
-	0xafbd90a9	0x6eec8300	0x1fd17777	0xaa8ba562
-	0x24531969	0x64eae352	0x6f7e72c5	0xca5e2247
-	0xee11333d	0x4e96b233	0xcc9c45db	0x377d9b3b
-	0xac17897f	0x8d4f2cf7	0x03786608	0x2ed70cb9
-	0xabb521fc	0x27ae8324	0x99fedf05	0xfa60f2f4
-	0x60fe2470	0xd9994193	0xce4a1f0c	0xdf803250
-	0x7773e538	0xe3461726	0x8f1fb31a	0xe20b4ba0
-	0x247a6bd0	0x33f33c29	0x0534675d	0x9df47ebd
-	0xcb86d416	0xfca6bde0	0xc2113e28	0xac64d376
-	0xd34923e0	0x128f937c	0xc74b76b6	0xb653872c
-	0x05c78e23	0x482ece1a	0x17cd4da8	0x460f5a20
-	0xa9a3676e	0x0776830a	0x9c5764a5	0x7c0bf0f2
-	0xe193d4be	0x31b71120	0x4beed8fe	0x8426bc77
-	0x9f665f9d	0x4e2b00be	0x2dd365af	0x015f5889
-	0x92bd288b	0x4bda3b7a	0xeb2b0605	0xaadc6a84
-	0xf715172f	0x1b0fdedf	0x17ccd242	0xd511eab2
-	0x75829b1c	0x0f5861b7	0x229338cb	0xcad5ac0d
-	0x95ed8bb9	0xe719c62b	0x2e50c781	0x40492cc9
-	0x7ac3e8c2	0x4881bef1	0x8359b0a8	0xd0a8713e
-	0x3808db04	0x847e12f9	0xd28ee5b2	0xc77f7a81
-	0x2e89e5ae	0x95296641	0x55f44a6a	0x22c16d11
-	0x1fa9d5ec	0x3b131a56	0x6b113976	0x057616a9
-	0xf4813132	0x003fbe23	0x082a9ff4	0xd0db4d18
-	0x84be1702	0xc9c51278	0x9f5bc62e	0x5691be5d
-	0xc12f7c79	0xa84f8dc9	0xa9b2b8db	0x0ab996e3
-	0xd25a2195	0x91584ae2	0x11e0a407	0x9faf14ef
-	0x7ecf8b2d	0x64d1b392	0x8292b54e	0xaec7c7d8
-	0xedf1eec6	0x9164a0a8	0x16132244	0x07077758
-	0x32f53095	0x8036d28b	0x5534fa23	0x66869c3f
-	0x3a503595	0x87706388	0x315540f8	0x5348f0c9
-	0xfbe7451a	0x491d7c96	0xa70ad473	0x5d7975c1
-	0xa51c99b0	0xdc0320d8	0x259a0935	0xf15dee76
-	0xb080d4bc	0x1d8611f7	0x64b6c12d	0x115bb158
-	0x1ae6f885	0x9b7bddbb	0x74107ba0	0x5ec2433f
-	0xc05198b8	0x4e3921cc	0xf866e4ee	0xdf4e5b52
-	0x93dc0bfc	0x9f5957eb	0xffebb962	0xb2845803
-	0xf16acbdf	0xda0923e7	0x2b7d8663	0xeef7ea5e
-	0x5c468035	0x1bf5eeb4	0xcf04aad0	0xa898340b
-	0x58f32310	0x6502901b	0x151e45a6	0x4e0a8176
-	0x312d5e40	0xb0a82dd9	0x7461f194	0x5d955cc7
-	0xbc26c368	0x26cc45a5	0xfff346fb	0xcdbdad82
-	0x1f0da6e7	0x6800be4d	0x931a3413	0xd471a14a
-	0x773ade46	0x525f8a29	0x416f7b22	0x75c2b0cd
-	0x5abe1934	0xbb87502d	0xb1568281	0x95c1abf6
-	0x491971cc	0xbac11423	0x0daf5cfb	0xb5e37509
-	0x2eb36341	0x1784cff3	0xdcebc5df	0xdb10122f
-	0xbbed7029	0xb7b66506	0x2b732807	0xb5524662
-	0x37c211d4	0x0730df05	0xe09e9822	0xd6910951
-	0xc6ed46f2	0xfc7d7cd6	0x8d6af74d	0x4697b13d
-	0x7959b678	0x9c67c19e	0x96686e89	0x7f973e98
-	0xe5759786	0x42ba4801	0x05416f70	0x87a85c5e
-	0x8f21af39	0xc64ce827	0xf658f857	0x3b75a282
-	0xf6813344	0x0e9adb2c	0x46ca59b3	0x2f2c4fd5
-	0x1a7ee3ef	0x1e3202ce	0xc4135b57	0x22792d11
-	0xe399a044	0x9453c580	0x639da579	0x80239655
-	0xb1b68953	0xbd677cce	0x9163a0fd	0x766c5b7e
-	0x46ed281d	0x99ec91f2	0x7db3499c	0xbf2b9793
-	0xb111887d	0x3906e075	0x9e211f1c	0x16f15768
-	0xd27474c3	0x8813b27a	0x3393ce5a	0xe73aeee6
-	0xfe056806	0xfe4bf0fa	0xe106529b	0x317d9099
-	0xd2ad43c4	0xbd618f1f	0x77d8e13f	0xd4c10bc0
-	0x30a335fe	0xd7a4b251	0x84c67582	0x1bc0723e
-	0x7a1cded2	0xf6664fce	0x2bd8c844	0x967cc741
-	0x8cb6bf8e	0xb8c49dd9	0xc167221d	0x5c65b9b7
-	0x1f32b243	0x5729b02f	0x76f22a55	0x22ef22f7
-	0xabcde168	0x273b0513	0xb8cc1b47	0xf0e378e7
-	0xc3e189b3	0x344090c4	0x3cac2fc3	0x2a06749a
-	0xb026617d	0x26bbe774	0xb15d08d3	0x6b29e7ed
-	0x34b5145f	0x740f6f69	0x7edb95a3	0xf55df95f
-	0x25061c1e	0x45192d2e	0xdef6bb9a	0x5538188a
-	0x2f7ff744	0x6592e57e	0xdfc302eb	0x8564f70a
-	0x81f22fc6	0x1ed3f7b7	0x3eb74e98	0x84ff649b
-	0x40535223	0xa81996a5	0xb30b0b97	0x9ca701de
-	0x45bd91f2	0x07e94e32	0xb2f60f7f	0xc3d68aec
-	0x2296450f	0x31567179	0x5fa15060	0x6ade7193
-	0x7ca6e320	0xb231f34c	0x1e392751	0x3fb50014
-	0xff632467	0xff33f75b	0x65f2dcdf	0xfa464ff7
-	0x1ffd17ab	0x34c38154	0x72906efc	0x2f649bd5
-	0x5349c835	0x6c83e7da	0x9e0ff921	0xf2ad6dd4
-	0x5afa8581	0x2d6deedc	0xf582ce84	0xda7ddfa8
-	0x6485db26	0x874585e9	0x13bbb0a1	0x4283bb8d
-	0x1648cc58	0x69fae5da	0xa5d7bc2c	0xd7fce256
-	0xc2e25ab7	0x7ec604af	0x1efde306	0x36422ec5
-	0x78e9bd5d	0xbfa63459	0x052efdbd	0xfbc9d2eb
-	0xd8b729ee	0x888dfd1b	0xb64a687f	0x9ebd05b2
-	0x622c28ed	0x3801fff8	0x476285e1	0x262e5f3d
-	0xd6ba77c4	0x8d5663fe	0x4b9bb3c5	0x1909dfb2
-	0x40db7079	0x2799a10d	0x1e2e55a7	0xe597551f
-	0x4d38f913	0x972b1b35	0x92f77eb6	0xb2dcdb5e
-	0xe275428e	0x0f136b53	0x321b55ba	0x70f7edf1
-	0xc41fe047	0x332e9ff5	0x3c372115	0x2ea1c88d
-	0x3ea09444	0xe93066a0	0x666670f5	0xee9553d0
-	0xa817ee82	0xde3fd981	0xf6c5b2b7	0xe88e3857
-	0xec60b610	0x4b0e1af7	0xceaa144f	0x0a8f8703
-	0xd7969cd7	0x0a946a3a	0xc6f77ae4	0x3805f71d
-	0xd5d56360	0xbee37cf5	0xfa524a3b	0x68ba0662
-	0xdf153cee	0x5954f21a	0x05aedb31	0x340e4963
-	0x129115db	0x271db9a2	0x70984fa6	0x7daf0407
-	0x5fcd11d1	0x750f56c1	0xf1a93401	0x3a3aca1a
-	0x8a6d152e	0x9c65e58d	0xf0afd845	0x3abef6ea
-	0xe6e1ff7e	0xf8407d49	0x45dea271	0x545631ca
-	0x73fad7df	0x21e60e47	0x3bd83fd5	0x12b4394e
-	0xba4731b1	0x786279a0	0x97c6d6ab	0x2591deb2
-	0x4b33bf75	0x772fb5bf	0xe9060fd5	0x6a752986
-	0xdf3090d4	0x9de70555	0x471c2e4d	0x5305f077
-	0xf2bdabad	0x2a4ed093	0x36e029a8	0x17b7a5b1
-	0xce75a688	0x8377b839	0x731fa872	0x63f45ed1
-	0x010bdd8c	0x4366cba1	0xd899b1b2	0x839a8a34
-	0x4914176e	0x58fec42f	0xb3ecd171	0xa88b5247
-	0xbfecbafb	0x65962301	0x7b5a7822	0x08b1056f
-	0x6f0cf6b5	0x5dbe0084	0x3280b172	0xc77913e4
-	0xa298f67e	0x2131f5c2	0xb9b9b501	0x7f30b7ef
-	0x55d8cdb6	0x3b0c0dde	0xbf9a5cb6	0x50ba39ab
-	0x0741872a	0x69217ea4	0xad4b12ca	0x14dd5da0
-	0x5d220b6b	0x9d0356b5	0x9608d36a	0xdef765ca
-	0x7d55819c	0xb57ca102	0x9f2a2c76	0x5efc9c7d
-	0x42952b33	0xc8e2749b	0x2eff7d6b	0x211caa64
-	0xec846e0c	0xf3119325	0x31bf7f1d	0x984fadb5
-	0x36670140	0x6419ae9a	0x1c206656	0x86cb7d35
-	0xbd323508	0x5f970165	0x21777792	0xc8808541
-	0xecba85e0	0x0b4b3240	0xa70d8609	0xc68913f2
-	0x67415bba	0x26af0069	0x81974b27	0x92066952
-	0x5f6aa2e7	0x0dfa50b9	0xc1e65cad	0xb93b9d66
-	0xad6c8ff8	0x8e885310	0x5f77e1eb	0x2dccb750
-	0x8f18f33a	0x6ad45207	0x921285f5	0xf3d2d3ab
-	0x1be2996f	0x9bc30897	0xc7c85614	0xce88b0ca
-	0x55a5fec7	0x0570e871	0x50cd5f3b	0xb723a9a4
-	0x8c2f6fd8	0x3a0bfcc5	0x0b75181c	0xe595e483
-	0x063a7f01	0x16984414	0x9c74253c	0xd9627dee
-	0x0b8aa93f	0xef9f3c7e	0x186719dd	0xb0311955
-	0x4ffcf417	0x519b631c	0x295cb456	0x58494234
-	0x81ebafc8	0x02002fdc	0xb28044e7	0x2682e878
-	0xb86f281b	0x108f9c77	0x99368ca5	0x24887533
-	0x37676f0e	0x71230faf	0x8e689144	0x81bbe972
-	0xc8dbab68	0xca5a3ed9	0x878d622c	0x05217a5b
-	0x7ce7e849	0x0416578f	0xc43b026a	0x86abc8bd
-	0xf0fdc5dd	0x1684665c	0xf167d783	0x00d58f21
-	0xb4929559	0x70572ce4	0xbfe6985c	0x051bdcce
-	0xa9307ffe	0x2fa9902c	0xd8f76dbc	0x6dcd4744
-	0xecb46877	0x18ac0a40	0x6f8a8064	0x66dff5e2
-	0xa55d991a	0xfcd7e70b	0xad9c7fd7	0xb77415a6
-	0x761134a9	0xa76e4079	0xe9ca8a5f	0xdb627ec1
-	0x328cd5a8	0xc3f378c6	0x7f5ae9a2	0x5a144e26
-	0xc4b778f8	0x1910215f	0x1d29a078	0x728c7575
-	0xc2017bc9	0x201a0601	0xea1e939b	0x7ed85f43
-	0x92893ace	0xb97613d5	0xa3e47eb1	0xaea2a6b7
-	0x45b4de8e	0x864e3d12	0x300eb84b	0x57246fa1
-	0xf9e50600	0xc5fb68af	0xff700271	0x4ecfe6df
-	0x195f3f4e	0x9bdcfa8b	0x1bcca506	0x0ee96e1e
-	0x4d722003	0xe6ffe15a	0xc3a392d5	0xedc4ea2f
-	0x1cc2bc4e	0xf133ded3	0x584bcee5	0x63e54048
-	0x34f57fa2	0xe606b846	0x82dece0c	0x7bc24217
-	0xf45b9ac3	0xd9949991	0xbc262aef	0x7949bbec
-	0xf37e0563	0x716bdca0	0xef533f5b	0xfa53b4e0
-	0x97365a61	0xbf4cd291	0xc69c9c3f	0xb5ddd420
-	0x92a65067	0x4a63f3ce	0xf53104a3	0x0053fca8
-	0xb8f972b1	0x7eb74704	0x2bc2ef35	0x491b520f
-	0x80f67bbe	0xd36fc91a	0x8babbc98	0xdd3aa4a7
-	0x1005ace4	0xafe0a165	0x921ee005	0x9d05e888
-	0x4e7913ee	0x43690cb8	0x634c75a1	0xf2ca1d08
-	0x6f453485	0x1a62b5f4	0x692608a8	0x76837c9a
-	0x222f6cb2	0xbc883372	0xc785ebf7	0x21b16a27
-	0x5ad7860b	0xd5fec2ec	0xa573aead	0x9c0bd90b
-	0xec3b5d8d	0x393a1263	0xd0cddd05	0x08477829
-	0xd4bb3080	0xd1580e80	0x614e8dae	0x7e789a32
-	0x273b2589	0xe5368d97	0x8db1b602	0xbd06492d
-	0x6760aca0	0xee176a78	0xce44021c	0x4d35c720
-	0xcc3d8185	0x752005a2	0xffdb4703	0xf01771b1
-	0xfccc8abf	0xadca3bbc	0x2c2a4739	0x970d0fb8
-	0xa829ca54	0xc4301da7	0xa56d3181	0x24a95701
-	0xb760d1ee	0xea87f071	0xfabc32df	0x465f142e
-	0xe0998f0c	0x6923edf6	0x3a1debda	0x3e88908d
-	0x7069f55a	0x0cd61367	0x1218e044	0x99713258
-	0xbb60c477	0xe3997857	0xc4e9ca48	0x4be6b283
-	0x1bde70e0	0xb0f3e15d	0x40cfb11c	0xbb9e0879
-	0xc4c732e7	0x2aa169d3	0xa2bff233	0xaa50e35c
-	0x2d0989e3	0x6f39a59d	0x7a7b69c5	0xe66152bb
-	0x69c74ec0	0x46ea7bc3	0x59c93af6	0x0a036f99
-	0x95698244	0xe0ca1af8	0x3565483c	0x8abcce28
-	0x6b322770	0x188e97b6	0x77874604	0x93298d36
-	0xbc4a0f5e	0xbf367940	0xf69906ef	0xf2b5975b
-	0x5968ec40	0xd0e75276	0xdf02b089	0x60b72248
-	0x32de1e9a	0xe52bb0f9	0xf4b33702	0x87b4cd47
-	0x31c86ac5	0x77106507	0x20ec46fd	0x5086dc0a
-	0xadce33fc	0x898ee47a	0x3c6f8af9	0xb4a26000
-	0x8f11d65b	0xf83d2284	0xe512bf22	0x24a7d8af
-	0x12b194cd	0xa530f50a	0x1f64f621	0x6160f047
-	0x8f223c99	0xc7e0809f	0x99312a95	0x5c729b2b
-	0x4af6e5b7	0x8c6e5da4	0x93a07403	0x89fb2a5d
-	0xeb347cfb	0x0d127850	0xc3278db5	0x456e3472
-	0x731c2b96	0x841ed8d1	0x5ed8671a	0x16814226
-	0x4cc3932a	0x556b1403	0xc8547260	0x52340a36
-	0x78b8243c	0x9ce3ac1e	0x997c64d4	0x25812f0d
-	0x5cd3b82f	0xaefcd02b	0xda85628a	0x3b9e3e2d
-	0x4780e91b	0xbb265ae9	0x4667a62e	0x7fde4743
-	0xae2d2c8a	0xbdf272d6	0x490e5bf1	0x8f764531
-	0x59a8ca61	0xc39751a0	0x9777eddb	0xc89da92e
-	0xfd46b968	0xd5383421	0x916ced6c	0x9fc14c5e
-	0x91ff992e	0xd59cd577	0xf5cdda19	0x99ed4f29
-	0xea30d84d	0x868bb72d	0xcd3e19d8	0xefba277e
-	0x9b895f2b	0xb67570ae	0x7b963bfb	0xb7f59d33
-	0xc82c0da2	0x713c0ebc	0xd2e19b6d	0xfdd7cb4f
-	0x0442a88d	0x58e2e7e8	0x7b179f2b	0x12013442
-	0xbbd1c2d1	0xc4e7d279	0xddb4cd95	0x18a254ad
-	0xb2876346	0x4bdca7ab	0x94dc9778	0xb648e703
-	0xeed00eb6	0xab02dd6b	0x3e25115d	0x45cedb33
-	0x906c2403	0x457849ca	0xfea6f2d9	0x252fb56e
-	0x2bbe39b4	0xa35c94e8	0x04952551	0xad733a12
-	0x40bf3982	0x30cb3742	0xd6c149da	0xb6d29f20
-	0x9df8b8eb	0x706065f5	0xfa915b7f	0xd2bdc0ca
-	0x0a4c462a	0x288ef8ee	0x2fa27cdb	0xea11b73f
-	0x5e909f42	0x06d764f5	0x1e2deaaa	0xfae5dbe8
-	0x0ec720a8	0x8fd675b6	0x58ee95de	0x19fd1ca4
-	0x4308d173	0x1884c251	0x56ffe45e	0x961c6bdc
-	0x44582512	0xb76a958a	0x12cdc33f	0xdee5c784
-	0x8dbbe9fb	0xe327f532	0xefb271ca	0xedecdca5
-	0x798e60f3	0xcf2d194a	0xee275fd0	0xd8fe6f12
-	0x30ce7bd8	0x3e17e29e	0x351ec4bf	0xe23692ac
-	0x0bb60ab1	0x60818dc2	0xdfaea801	0x1afe161f
-	0x72fbcb53	0x9382e661	0x56054fdf	0xe6261b4b
-	0x97e746c7	0x6257411b	0xf0bbac9d	0x8fd6478e
-	0x203e690f	0x9758da43	0xef6ede77	0xe85fc9e5
-	0x8e5315ed	0x479c6f9a	0xeceaa8b8	0x4f626f85
-	0xe79c2ead	0x14e97f8c	0x2bb51ff0	0x6b733645
-	0x9e578a09	0xcf424ddc	0xb315bb19	0xc4833717
-	0x3890ca82	0xf00aa52d	0x9e652f98	0x87ea3177
-	0x7acc6baa	0x531c5eb4	0x6a85b1f5	0x7b1c0192
-	0x0b32c8d7	0x735c5791	0x86c1ebc4	0xa4361511
-	0x0c7bce26	0x1357809c	0xa382b877	0xa4f9a0ed
-	0xca30e907	0x277d3c65	0xec0bba64	0xf5169aa9
-	0xb8a1305b	0xbb4059a3	0xa44d32ca	0x76b0141b
-	0x7bacc1c2	0x51273c1c	0xf8f4d7af	0x0278678d
-	0x04d36367	0x38ed7b1e	0x8a45327a	0xdd19324f
-	0x36a5952f	0x97661f43	0xe2671856	0x1eb34493
-	0x8708de21	0x080f9e7d	0x070d13a0	0x2c54a64f
-	0x86ef2751	0xf83a87e8	0xf61841fa	0x0ade1426
-	0xe1cca086	0x96a9a439	0x648f53e0	0x378a6cf4
-	0x894a3c7d	0x9bf1031a	0x2f0affd0	0x4688048d
-	0xec159b64	0x28b103ac	0x462767a5	0x278ac30f
-	0x3e5bf100	0xdd860ac2	0x384e9dea	0x55abe65b
-	0xbc95d098	0x905277bd	0x8b47e264	0xf4cc82c5
-	0x8f06e7ef	0xf2fb2364	0x13f70c45	0xc5eb083c
-	0x6c4ee92e	0xb2f7719c	0x19883212	0x611f22c8
-	0x8c742ec0	0x1550089f	0xc6c5933d	0x1a6aab8a
-	0x27ac73c0	0x4b8be65d	0x25c17a0f	0xd1ee7238
-	0x54a47bdf	0x9bf2d8e7	0x223873f1	0xb0825f98
-	0x6263a6a5	0x6e732bde	0xcb2460bc	0x195b6758
-	0x74eab2c0	0x10509c33	0xad5153c2	0xa9c77d09
-	0x5581bc9e	0xe85a2906	0x19ecd606	0x22d04481
-	0x2acc285c	0x4b01bec7	0x7946efc4	0x3fcc4f9b
-	0x7711e2ba	0x769501b9	0x565ed3a5	0xa6a2e0c2
-	0x2fc9f212	0x1da1dc7f	0x1e354a51	0x42f070bf
-	0x96f603fe	0xa11ea899	0xefa65c44	0x309f3b3d
-	0xa4e7de23	0x0fc0ecf0	0xed135d01	0x11526284
-	0xe1535798	0x46236948	0xbbf375f3	0x33d03953
-	0x057340ac	0x1f8d08bd	0xd3e19b4a	0xd1a074e8
-	0xe8f7b3c1	0x81f4e7cc	0x7efb3ce4	0x2d7b8dfe
-	0xc35c1b7d	0xa981b243	0x56dc3df2	0x7b0cdd73
-	0xba20923b	0xe4469620	0x9999a05a	0xd558e6c9
-	0x1b2a6e34	0x1a03ad40	0xead427a9	0xdfbdf1ea
-	0xe9b9c758	0xe1ce3e74	0x2ee3013c	0x37fde647
-	0x7528f451	0xdb169663	0xc1595963	0x487703e0
-	0x649824fc	0xf4e557c4	0x26ff0cfb	0xa6c61495
-	0xbf6ff8a8	0x1e936c2f	0x28170318	0x16623623
-	0x7cf43aa9	0xcf44b9bd	0xee05bbe9	0xbc364396
-	0xfac9c35a	0x70664227	0x4200bc74	0xc847c1f3
-	0x393b52cf	0x67df2a37	0x24828663	0x85c64437
-	0x0ca91fc4	0xbbab8588	0x170d40ec	0x6a5270d7
-	0xd873cb99	0xc461e41e	0x68fb5dcb	0x175808d3
-	0xb3c75d6c	0x5f8659a3	0x164af2cd	0x491ed225
-	0x21b774d4	0xfc5f44e0	0x5a761165	0x8394b784
-	0xa3625993	0x23db8229	0x18adfc19	0x7a86dcaa
-	0x3759a419	0x8236b6a0	0x866eb76b	0x40e3936d
-	0xa327f573	0x0793a949	0x5511fbac	0x7aa8017a
-	0x869d2433	0x9fb80368	0xd9b8d14a	0x725f0a17
-	0x50ec0c4d	0xeb8bd3bb	0x6785d7c0	0x9882836f
-	0x0c164e65	0xa7ff708a	0x3f4b7ded	0x160237e4
-	0xfa551105	0x7dfeb41d	0xf60157d5	0xf863bb00
-	0x23d96b49	0xc8b80eea	0xd395a7bb	0xa6cb0b99
-	0xdae2d53e	0x374d5699	0xede8a731	0x64e2eb82
-	0x3aaffc9a	0x03da3d18	0x775890e8	0x3842a94c
-	0x863c3914	0x4cf8cc03	0xc40d3d2c	0xb5514333
-	0x1254c457	0xae791759	0x7eebf7c4	0xcaac9331
-	0xb3f9a144	0xf9430aa4	0xc241038c	0x7b481099
-	0x6ffaf560	0x504946d2	0x5ad1fb41	0x4c4ed169
-	0x1331c934	0xfc02efaa	0x519b65e5	0xa2eb152b
-	0xe3b78626	0xf6cc1ce2	0xaba6d9c6	0x6c117767
-	0x3ba1a970	0xab320fb2	0xa17ae6c9	0x07f8b830
-	0x1752f87c	0xcadd1616	0x81229b18	0xb8f1c91b
-	0xf62e10f9	0x40fb1a82	0x6feed0ca	0x375b3f31
-	0xcc951ee2	0xdbbc0a84	0xc3caf9d9	0x51e4f7e2
-	0x6c2cc2da	0x86994a97	0x58516036	0xa680e1ff
-	0x83255438	0xe304daf0	0xabf95c4b	0xeeecb868
-	0xf258ca56	0xc63b1f45	0xe4637c07	0x4bd8052a
-	0x01515dbd	0xa3d3dca6	0x79565fed	0x0427abda
-	0xeb640f00	0x4f34d441	0x135af3a0	0xad86ce4d
-	0x83daca30	0xd9ae59ab	0xad9edd9a	0xbb18a84d
-	0x9163b7ae	0x68c45613	0x4eeb7297	0x12c0aa50
-	0x0003968c	0xb872a623	0xa39b33c0	0x4c934155
-	0x658bcce4	0xfa7c8c07	0x062681c6	0xd091dce3
-	0x6b421cf0	0x726aae92	0x623e4f88	0xd74b50b4
-	0x0a6410e7	0xe6158980	0x2956f74c	0x5e18c87c
-	0x6fd6e24d	0x8afdf654	0x928a859a	0x55edce30
-	0x63a859ef	0x4b82ee8c	0x6eda25a4	0xf8b32d44
-	0xdc47b7f0	0x5ff1c6d3	0x8ec85752	0xfbcddc99
-	0x86b90e33	0xe9fe679e	0xf6933cee	0x7054cf99
-	0x7fca8ff3	0x06bbad7c	0x1a5a6f2f	0x1effefd9
-	0x1aae25a8	0xc594864f	0x8df29cf4	0x373b22ee
-	0xfd7cc798	0x2d3018a5	0x31806f07	0xaeadce1e
-	0x9eb56db2	0x997e6a02	0x3f6ad090	0x8d13dedf
-	0x6fb3b150	0xbd15fe3c	0x35b6e654	0xfd9cda44
-	0x77864119	0x7ab48f53	0xf0cf2f91	0x16c955fe
-	0x06ae6500	0x11969961	0xcf4c27cc	0xe0500cae
-	0x361b4f0a	0x95eafe71	0x9ec8e2a0	0xafd6afe8
-	0x424b6b80	0x4b2e1810	0x3b474219	0x142aea44
-	0xf3654186	0x3ba86c0b	0x833f65c2	0x6d47eb79
-	0x62dd2140	0xd94a70fb	0x8ca1614f	0xaf4b2f5a
-	0x49a94d86	0xd1bcf8ff	0x75758118	0x4d249643
-	0x1998d0e3	0x9138a5d2	0x25c3285d	0x94aff0c3
-	0xa3b5228a	0xd19437b7	0xef21e585	0x1b7e4f3c
-	0xd641981d	0xb402e718	0x864429c0	0xdea501be
-	0x106824bd	0xfa029c7e	0x24d7c5b1	0x392faf14
-	0xc6d34b80	0xcdae7248	0x8fcda2d8	0x4ea47d55
-	0x6159a07e	0x7321230e	0x898acb28	0x1ee768ef
-	0x18d5b5ce	0xad651352	0xcdb1b265	0x51344650
-	0xac50b615	0xe63a8384	0x80662716	0x82a18a79
-	0xa5a7efaa	0x7a145b9c	0x849e7f01	0x6798d58b
-	0x040590b7	0xc5ea38e3	0xc801c79c	0xbb195537
-	0x928bbb0c	0x38dbcc6c	0x78392d00	0x7a1ab99a
-	0x7ab11689	0x5da16626	0x01fc4fc1	0x73aaf369
-	0x4ae39f8f	0x5615a7a3	0x973313fa	0xc7ad9ba8
-	0xd58a9805	0xf600d196	0x2acf7e8a	0xa9781219
-	0x2f60bfd1	0x73dd49ed	0x08e92462	0x7c088af6
-	0xc0ec767b	0x813d1a47	0xc854915f	0x38c19883
-	0x3d68948b	0x37013904	0x7d673d86	0x9a347e46
-	0x89b64816	0xe2eea157	0x9c9e7b43	0x88894832
-	0x4e420ce2	0xff8ca9a2	0xc152fd87	0xfb407682
-	0xe2808404	0x4c386f6e	0x053cd949	0x08f55f48
-	0xf89b7624	0x37e43a08	0xf9bc62ae	0xa6d76f51
-	0x4e400425	0xda181f10	0xad190c86	0x6952cd23
-	0x1c1fc245	0x44d3449b	0x2383b865	0xfe9bb854
-	0x745990c5	0x34be0541	0x3ec0104d	0xda80eb99
-	0xf0b3f266	0x29caf9a7	0xf4ff713b	0xebd3c95c
-	0x1b2223d9	0x14809a4b	0xde8ecf29	0x2140f249
-	0x9da938f4	0x5376618d	0x45e1c6b9	0xcde4cb9b
-	0x1dad65a2	0x47567cc3	0x285f8145	0x080df22d
-	0x61f570bd	0x54c91058	0x597a3472	0x4e2199a7
-	0x54bc0b43	0xbbe1df4b	0xdf0843a0	0x007ffa70
-	0x44a969ce	0x2b10aaad	0x337ffb08	0xd176496c
-	0xe89a0d63	0x953fb0c5	0xc3cfcb1c	0x92a96ea5
-	0xbde759f4	0x497e8adf	0xad8b516c	0xfb6967f2
-	0xdc9031a4	0x6a200ab4	0xd93f8951	0x28e22ade
-	0xf54c1c4d	0x8b6325f0	0xa7946fbb	0x76ed4a4d
-	0x6b808dd2	0x86634406	0xa5044ca5	0xe0d0591a
-	0xd817455d	0xc00d1daa	0xc7c40850	0xe2e025fd
-	0x74ba9bad	0x550c236d	0x29b44966	0xdcbd8276
-	0xc4b6586d	0xb1702e0f	0xaebf15a6	0x7d2f1cd7
-	0x9ccc8b24	0xd2fe8842	0x1fe70488	0xffe89b22
-	0x7600ef41	0x75569ee5	0x89f065c0	0xda8d0c8b
-	0x27296329	0x99241565	0x611cc8c9	0xc67415f1
-	0xf0cf41fb	0x38f066ea	0xc13dff67	0xbc04723e
-	0x8f6f8db7	0x94821abe	0x45a5c57a	0x0c3c2474
-	0xd80aa358	0xf95e1874	0xaf4258aa	0x325f2c1d
-	0xcb15342c	0x40d77acf	0xefad72fd	0xb154345e
-	0x9584df00	0xd0712387	0x6d7d329b	0x8c8ff2eb
-	0xebd94378	0x8b0bae9d	0xeecd6bc3	0x529a6a69
-	0x797edc8f	0x4845ef9f	0xa0d083f8	0x14cd8c0b
-	0x775ef704	0x1f83b4f0	0x0047afdf	0xebf6dd6f
-	0xad0a5557	0x9a9beed1	0x9784c839	0xc5fb7640
-	0xe0b3993c	0xaaf9fee0	0x59976746	0x79e0674a
-	0x82b5ffca	0x608e4a56	0xdb81df21	0x3a558382
-	0x17a7c643	0xd9112bd2	0x2e2a3121	0x852a0836
-	0x5625abd8	0x57f8621c	0x7d64dd40	0x2a8d920f
-	0x5fe3e399	0x4486edd8	0xd36655a2	0x23851557
-	0xa096b610	0x06d36c37	0x05d1fb87	0x953aea36
-	0x168daec1	0xbb219585	0x5f17aa7c	0x35d378ae
-	0x76e183ff	0xd6ec5f10	0x4bda67c1	0x96859188
-	0xb328559f	0x834f3e93	0xab87eb5b	0xa8bdb45c
-	0x6e81579f	0x07fee7e4	0x426aa06f	0x7380dc40
-	0x27cb618e	0x05d41994	0x98876595	0x4e6ecda7
-	0xd0549783	0x21b62d1c	0x85058d66	0xbeb36620
-	0x3457564f	0xc29012ee	0x40f30d02	0xa19964e0
-	0xe6f4e733	0x629df93f	0x958abe90	0xab4c3d2a
-	0x55c626d3	0x63cd0ce5	0x832f8ae1	0x8dc5bc20
-	0xcd0b0550	0xfeee65eb	0x0b8309a7	0xdaa9623c
-	0xb5e51b5a	0xf00c9323	0x6b897c27	0x0bd12d37
-	0xf42f8ae6	0x48b81705	0x155e9392	0xb40ca230
-	0x798cd836	0x58e7eb07	0xca2eb2d6	0x238429bc
-	0xdb60b26c	0xca555fd8	0xac907a1c	0x2307f54a
-	0x74b44142	0x44d620aa	0xabf0208d	0x8904f028
-	0x264f31eb	0x5096576e	0x470ccc88	0xed1d68c2
-	0x03ddf124	0x507bec18	0x262b5988	0xb9b530e2
-	0xd1ac6728	0x3a407a87	0x92308c30	0x7394af8f
-	0x4273dd50	0x1abd7a7d	0x28374e74	0x87404b18
-	0xcf9b2454	0x2da15860	0xfb151dad	0xd7c5e552
-	0x58a49994	0x7daa7fb6	0xf5c7032d	0x199c156c
-	0xe42c6748	0x7ab9b557	0x547802b8	0xc606a059
-	0x3d89ff21	0x4fcdec22	0xb1087ad2	0x5521be5a
-	0x5bd9618f	0x93aabce7	0x28be0c32	0xcae8c149
-	0xe98236c3	0xe4be458c	0x805a0a38	0xb300ceb7
-	0x1dcb3642	0x33d87e03	0x81c17b3a	0xf8b59cd4
-	0x9ed300eb	0x5e99acb6	0xab24565e	0xa7e9d72a
-	0x92f97cf2	0xb61fa917	0xbc4167ea	0x5c37d1f6
-	0xcd5200f3	0xc48dcdf1	0x3ba93fe4	0xf5045cec
-	0xc09adede	0xdeef5953	0x1d7c6b08	0x77f2cd7c
-	0x025d30ab	0x206b53a8	0x8140335f	0xed1751b1
-	0x9fc265b6	0xdc56b2ba	0x6f60ddda	0xf92d7837
-	0x3560dc91	0xed0140fd	0x12071a5e	0x397e7dba
-	0x8d9c89b8	0x5f79e3f3	0x41add538	0xafce559e
-	0x8956bcaa	0x76854169	0xac9d211d	0x1d9d2f47
-	0xa4c8cf2f	0x0bdfa060	0x35ca5f3b	0x1ec524c5
-	0x859b6ead	0xb3bd5250	0x1616fbf5	0xd18e5d38
-	0x8b1b06a7	0x9b6e1a2b	0x128e9c72	0xbb672bb7
-	0xd50b0234	0xfe1f75c3	0x40062da3	0x7b875ae3
-	0xca401a1c	0x1668185e	0x25002654	0x314eb038
-	0xd03a8be3	0x86717b8c	0x1bd58524	0xe17ba392
-	0xaf90d12d	0x7b3afe6e	0xcad2b963	0xb91245fe
-	0xe0c7c9f6	0xf98b3bd5	0x305bd207	0x713515d1
-	0x4677d009	0x20e34228	0x6128d849	0x5fb620df
-	0xe3274241	0xd3814ecd	0x223303a7	0xcba4f054
-	0x73a34ab0	0x874fb4ce	0x390efd43	0x490a7a12
-	0xa45a9d66	0xde80cd80	0x9a36beaa	0x2cfca0fc
-	0x231f4d1d	0x04c1fad2	0x5ad83a8d	0xc2931f83
-	0x97f63f61	0x38a6029c	0xe34de276	0x699fa28b
-	0x458d2e15	0x67b57701	0x49385ab4	0x09417b0c
-	0x18897b93	0x516f5749	0x4578a8ff	0x52fbda3e
-	0x2da1dd8a	0xf22e616a	0x7806ab6e	0x92886668
-	0xaf7e056f	0xd9a35959	0xf6ae0b16	0xa42d213d
-	0x928ba1be	0xb61f8e2a	0x6635e3c8	0xbaf76f05
-	0x693d4eb0	0x69546031	0x00427e2b	0x97e563bd
-	0x2857d47f	0x28aaa688	0xf91ec5a8	0xd119289f
-	0x721dc1df	0xdc40c94e	0x67e3d987	0xd2141380
-	0x1bdb7023	0xa84158f3	0x5637a2a8	0x34f80708
-	0x7d452316	0x7cdd1f84	0xe1d1633a	0x82d9f886
-	0xad779cc7	0xd2ae85f9	0x0c467ac9	0x27c1d5f5
-	0x1b28be66	0x34d759d5	0xbcb56ec9	0x171c3020
-	0xac4319ce	0x68c1e8c2	0x3cb463cd	0x78a065bb
-	0x5188b314	0xc8566dfa	0xc93094fc	0x28a21400
-	0x9151a62d	0x678940c6	0x5023ed27	0x089290aa
-	0x327f3b1d	0x7e3d9bc8	0x2c664ff5	0x32e58da7
-	0xe998fd47	0x480411d0	0x9297db4c	0x182058ef
-	0xe21c0a93	0xa32d2771	0x91199466	0xdb8694df
-	0x6261f08c	0x3aff7da0	0x1e24865e	0xde2f7ebf
-	0x1f570473	0x3ec320a3	0x3a8461b6	0x3e1c1e73
-	0x862aa78e	0x74c9a73f	0x090973ab	0x248fb1fd
-	0xebb1b73c	0xab8cc3d0	0xa80d3a86	0xb81c4992
-	0x9f14bb10	0xef283b13	0x060ac416	0x03768c78
-	0xab1a3b35	0xa8f7cf27	0x947beee4	0xdb6d4731
-	0xbc6cebd4	0x39e3cd02	0x9ced359a	0x3358a905
-	0xa4f31baf	0x56bb572c	0x0a8ccbde	0xe701126f
-	0xad241a42	0xd66bafdf	0x5be07a77	0x4fa8a2ee
-	0xff2a829e	0xbe7aa422	0x8ba9b94c	0x20fce978
-	0x8086487b	0x66bf1d28	0x0e9a4b37	0xdf5836b6
-	0xa6eb018c	0xf6a5ef16	0xcfb3b85f	0xa8bc1ecc
-	0x3c5925ab	0x1c926d4a	0x60e2747c	0x629eb075
-	0xbdcfea23	0x10443caa	0x5d005a9a	0x4a6235b1
-	0x56b70ab3	0xff8cb97f	0x42828a8b	0x33692058
-	0x4ce783ad	0x08d1c099	0xb14379df	0xd65d24dd
-	0x14450585	0xbb0450d7	0xc8776287	0xea2eb9b6
-	0xc44d73e2	0xcb386daf	0x9d3686a1	0xb58c318b
-	0x287fbe53	0xe8d84535	0xbf17ef8f	0x98332fff
-	0x5e098cbb	0x9ecc14a7	0x08366dbc	0x55028860
-	0xc09e869f	0xa29a43e7	0x9be9daac	0xa1750a10
-	0xb2fd8da5	0xf380c1cf	0x6087ff3c	0xd69bd21c
-	0x7e14ede5	0xc0ed409f	0x12f25810	0x3f44d63e
-	0x9e7b0cab	0xcb9cc71b	0x18b66ea5	0x80843c35
-	0xf140a7ed	0x89fb323d	0x0a326c40	0xe3f9af29
-	0xf6c59365	0xad3a2017	0x906d1ce2	0xd3360e1f
-	0x046307dd	0x290ff1e8	0x910a9632	0x5cf471a7
-	0x54321c10	0x12924fa3	0xff3d87e6	0xb1687618
-	0xa2a68555	0x1a21d3bd	0x1095d6f9	0x349b25d0
-	0x8166c94a	0x006c839e	0x0094b4e4	0xdd11f901
-	0x1c40e7f0	0x50946c87	0x52bcea55	0x20b86a9c
-	0x7b386df2	0xddd48f3d	0x421d417a	0x7052e089
-	0x8ec43a4e	0x6174ca83	0x6b712d8e	0x566ae151
-	0xc38d68a1	0xf7d64e87	0x9f53d487	0x5e985461
-	0x21d27e2b	0xdbb9bf40	0x2826a5cc	0x6ca4d786
-	0x381508b8	0xd8ffd839	0xa85f5b86	0xb37fa53d
-	0xe4906f8f	0xc7329e0a	0xe56272aa	0xe7b97be8
-	0xbd6a48dc	0x935e9f91	0x02313e13	0x026b8e36
-	0x939a5293	0xe125a1a5	0x6b27d136	0x3d520ae7
-	0x7abc1309	0x183f50f6	0x08575ed5	0x1d2c4c72
-	0x0e682129	0x655ceb36	0x1a508349	0x3be034d9
-	0x4bf83c5f	0x592520d0	0x5f65a0c2	0xcad74a35
-	0x5c4e605a	0x973b60a3	0x309fc15b	0x3ea3781f
-	0xb56c3172	0x269f8d75	0xebfa9293	0x9ff8bf36
-	0x27bc0472	0x4a1888d1	0x598b47c1	0xba2d3073
-	0xf71b310a	0xb9db5309	0x065ffaf8	0xeb21604b
-	0x60875644	0x6f76cd48	0x47746357	0xbf2e90b5
-	0x7d40e67d	0xe87f11ec	0xc5409f18	0x9904fefe
-	0x9745644f	0xe1089f12	0xdc49f755	0xf0cd3596
-	0xe9e69302	0x419b9a3b	0x3f0a6315	0x8b715e28
-	0x363ede54	0xcd41a72f	0x0bafa9fe	0xd00225c7
-	0x6e8d0407	0xd1f100b9	0x0cd02e9c	0x760a2ffd
-	0x6ac6f01e	0xd2226e57	0xe7a7bd75	0x0bec05af
-	0x72b4d6c9	0x54df0f5b	0xbcb2bb34	0x20364bf2
-	0x9fc24cdf	0x83452f28	0x734248b7	0xc698bf34
-	0xee328cdc	0x8e4bff33	0xa1addacd	0x07af68c8
-	0xc34b5d25	0x8e611a0d	0xcbb8ff85	0x077c6d43
-	0x95feb2a3	0xb435fffc	0xef5eca7a	0x0ff6045a
-	0x449647ba	0x75795c99	0x9c514436	0xabbe74d9
-	0xd180f18d	0xdcdeee76	0xa9550f7b	0xb4c8e109
-	0x80b21662	0x8a407a0c	0xa6245b13	0xa16f44ac
-	0xb3db67d3	0x0b335cfe	0xd878e875	0x81d6df28
-	0x44871141	0x6a6dada5	0x7f97fcd0	0x7ee87f79
-	0xddc5bcfa	0xfc2763db	0xb11a9212	0x94ba7acc
-	0x49428749	0xd219071f	0xd91bc4c2	0x4ad5c326
-	0x54ea2297	0xdb16bca5	0x33327f3f	0xc487b8c7
-	0x54ca8d94	0x4c6f5655	0xf51c3911	0x37931433
-	0xf6506856	0x6b5a93f8	0x388950b9	0xdf5263b5
-	0xd4cf56ea	0x8da347e2	0xf20a9a39	0x1a6b8e4c
-	0x2ce3df55	0x38269e78	0xdc7a9762	0x9e73a3dc
-	0x57de6fa7	0x9c2573f5	0x3491629e	0x009452fe
-	0x8a34ddd1	0x701df9ab	0x4035380c	0x6f25e16d
-	0x0ca914de	0xf9277a06	0xca1f1fe3	0x95aec5b6
-	0x7a613e97	0x52e77607	0xd7229ff0	0x5f301016
-	0xd4e142c1	0x29a939cb	0xe96dd1ca	0xc953aec0
-	0xbf02c31e	0x02135076	0x4f931dcb	0x4b280cd3
-	0xe0cda493	0x70831c04	0x8192143c	0xc9f94a3b
-	0x13eda1d1	0xc62c39ad	0x754a5411	0xe43ce416
-	0x95ac1b10	0x871261dd	0x79f33a8a	0x77383224
-	0x98b2480f	0x2df139d4	0xd753e53b	0xbad87b53
-	0x977cc17f	0xacc4bb71	0xbde6b5f2	0x206562ae
-	0xe0319086	0xcf903501	0x56ed1506	0x64f4556c
-	0xb90bbe0f	0x2def02e5	0x9b625a9b	0x96086cce
-	0x39d1d0ab	0x8c85c5d6	0xa8199040	0x23c770e2
-	0xf5303bd0	0x51a83607	0x5afa1989	0x8a81b4ff
-	0x1b24e6a4	0x4cb58014	0xbbee7d31	0x758271fd
-	0x259bc3f5	0xb3f9c6eb	0xbd8c4f86	0x66c27a35
-	0xa41c2904	0xc9848ce3	0x9ba21676	0x18f65508
-	0xe5637556	0x031e21c0	0xc09e3c77	0x5f10856f
-	0x9b3ea697	0xd8afe20b	0x447f5be1	0x5c4b1668
-	0x71f44cc1	0x8637d0c6	0xbd182081	0x1e4221b4
-	0xd312a403	0xf49d2c96	0x686ff9e1	0xa3f9b746
-	0x3caeae90	0xf2bfb131	0x5823eb37	0xcd4edc6d
-	0x3a7f65d8	0xbb4be9d3	0xd7939b2e	0x71d03a37
-	0xa30ff63a	0xde7ccb57	0x8ea031ba	0xbcb3994d
-	0x8018d6fb	0x1c7a3610	0xac900573	0x9ad05089
-	0xe2d17d5e	0x7816b9a7	0xffcca5c1	0x9faa9a0c
-	0xadbe99e6	0x06de7ee1	0xe4ac8981	0x29ef423c
-	0x32219ad2	0x806642b8	0x412ab076	0xfe4c5196
-	0x82c2507c	0xd58c7b7c	0xfe9edc9a	0x89e4c6e9
-	0x4f122269	0xf0aeb2f1	0x77f4fbc0	0xe6692464
-	0x6e64c198	0xaf79a455	0x01e2ed98	0x897ec1b0
-	0xf7a0dd35	0x92baec5e	0x93f17b7e	0xfbf82b90
-	0x168d32c5	0x741b61c0	0xb0f5b9b5	0x0557fb71
-	0xca937e89	0xad652a2b	0x9a2121c8	0x34d189ca
-	0x037dd1a3	0x3e650192	0x4defbaa7	0x06763750
-	0x48d4d1b4	0xda2af400	0x7df71d63	0x3e0b4c46
-	0x28c645bc	0x29b15428	0x34e10558	0x1166cdd6
-	0xc259a364	0xdc7e0f21	0xb02cee35	0x3055f39b
-	0xb77a50d2	0x2c143c84	0x7903e30c	0x018e20a8
-	0xf95b4a26	0x38c84311	0x1f0c3098	0x535a95e7
-	0x730214dd	0xb0f90f53	0x625fc5d1	0x2c1f2d76
-	0x7c9b5351	0x5cc285f4	0x0f63b5f4	0x90d59d57
-	0x140213fc	0xd21a74b7	0xf85fd83b	0xd9f21e94
-	0xbbefcd30	0x5091f90f	0x8d5c47fc	0x9455364a
-	0xef89f274	0x901af041	0x782cd03a	0x086f1f81
-	0xe09eb4db	0xf7a8146c	0x41898271	0xe8be480c
-	0xdfbac329	0x5fb899cd	0xfdca25e8	0xe994b3d8
-	0x2299ede3	0xc0341512	0x0128eb87	0xd5cff619
-	0x779bba38	0x1e986657	0xc22ac15c	0x919af309
-	0xd3cd1df4	0xb4b22d9a	0x210c0617	0x5723f9e0
-	0xb7b79328	0x613e738d	0x39057942	0x48d48958
-	0xf9d80cc0	0x16f69a5c	0x6d517734	0x012f07fa
-	0x7a8329e1	0x586b22c3	0xdd0d96b9	0x0c56d5f9
-	0x60410aa3	0xd1975446	0xd2c142fa	0xb13ba75b
-	0x0b046c21	0x03afb4e0	0x346f5dce	0xd108fa96
-	0xd1ca963c	0x73f5838a	0x4b4f734f	0xa1d430a7
-	0xd0cda381	0x64fecfee	0xc5048480	0xd3bfb251
-	0x088982f9	0x2383aaee	0x9b9c8f48	0x623f2132
-	0x0f5ae663	0x3c32959a	0xa1fd9ecc	0xf62d0e4c
-	0xe690d930	0x6be7a286	0x825d0066	0xe51094ca
-	0xc99affb8	0x832222ea	0xe7296513	0x2c040c86
-	0x35f62e4f	0x6f46ba84	0x25cdb0a3	0xe8b6ec22
-	0x5b6cf8d0	0xcfd85f8a	0xf0181633	0x5362c0b7
-	0x58955c60	0xc5a36973	0x874d04eb	0xa42a42df
-	0x4bd5d994	0xee6114f3	0x671ccecb	0xf0ae2422
-	0x70c98042	0xf9ed2a1a	0x6b60f0c9	0x04b13374
-	0x96fba002	0x8b481645	0x315198a2	0x65c80b9a
-	0x31475dd9	0xe95c5c3a	0xe3c22d43	0x12659565
-	0xabec6f96	0x9446e315	0xa6552f83	0x295e2596
-	0x8b6a2d9f	0x71efb10e	0x2d309912	0xe3dd2879
-	0xabd39f50	0xcfa94a90	0x61d282b7	0x062b246f
-	0x617b7162	0x3628fffd	0x93c8c8a5	0xaa44c72a
-	0x11b78bff	0x8259874a	0x186bbcfd	0x37bf7395
-	0x6f8582a7	0x65fdd21b	0x53106cb5	0xbfbe1e4a
-	0x1ed99eac	0x670b3763	0x245db7b2	0x7584d9be
-	0xc3472009	0x572bddab	0x17e7406c	0x79e0ea4e
-	0x74779fd3	0x92d0c51a	0x1808d006	0x46c1e76b
-	0x40e48bf4	0x61e17325	0x1d437ab2	0xacf51c38
-	0xc19eab2c	0x02957308	0x0bcc40bb	0xf603815f
-	0x9c666571	0x6a7d539f	0x57f3941b	0x7af81d5c
-	0xad1427b0	0xc188d623	0xac010003	0x1ff4cdf6
-	0xfa504446	0x6425ba6c	0x27ff69fa	0x26da5613
-	0xb6fc0a69	0x1155853e	0xbab81c6e	0x3dc17909
-	0x07b209d9	0x8b269554	0x73fc8781	0xfc1c2c82
-	0x572df087	0xb71bb5e5	0x55f9d202	0x6f525daf
-	0x117755f9	0x52cce1bb	0xa789ed0e	0x1313ca47
-	0xe8bdd878	0xc37e8dcb	0x53b971fc	0x43540a80
-	0x3d2384a7	0x25ac992d	0x7aef31c8	0xb1294afd
-	0xb0a34878	0x96e9ca1d	0x82a19bcd	0x08cd2bdf
-	0xd2681e35	0x2d32fa5f	0xc7c0c8b2	0xeecd089d
-	0x97404355	0x0b34539d	0x37ce4df3	0x599352dc
-	0x06734f29	0xf47ab5d8	0xb15ea9a4	0xfd92ed2f
-	0x9510bdbd	0xb740d34b	0xbac3e94a	0x52efbc03
-	0x40bd7acb	0x1bf83a4f	0x3d76c698	0x7e691383
-	0xec85e4ae	0x55e9a446	0x1fc3ab3b	0x6aea12fe
-	0x8fab4a84	0x69cd7328	0x935a7236	0xc3f59437
-	0xb73a7d8b	0xba0f54e0	0xe8e7aafc	0x6f82ade6
-	0xed6ccaf0	0xdfddc46c	0x0763fc3e	0x778e488f
-	0x0bcc4dce	0x8f919858	0xa7bc7d1a	0xd4954eea
-	0x517b5458	0x6c3f5835	0xd960f76d	0xf5be65a7
-	0x133666d9	0x4431f94f	0xccedf47d	0x6eb21ff8
-	0xb858dfef	0x15beefef	0x9a1b6b6a	0x64890eda
-	0x2a381329	0x660302bb	0xc65c001c	0x049a4be4
-	0xfca1b112	0xb081a099	0x3a2217f8	0xeea9a2ef
-	0x7719129c	0x7c915047	0xb3fe3e16	0xf1c31548
-	0xfa84a76b	0xd7af5b51	0x0de24c14	0x89a7263d
-	0x5a9dbffe	0x7ea90ae3	0xc21a2a1d	0x65ef3a3e
-	0x90fd1fa0	0x69aa0d9b	0xb44a5778	0x5ded34b3
-	0xa0d78617	0x91817661	0xf9541869	0xa0960273
-	0x024d891a	0xbc9f6d7a	0x630bac04	0xd186ffe5
-	0x0d60d640	0xc05e4701	0xba72d775	0xacec7c0c
-	0x1680e76d	0x6b153d69	0xbcbd60c1	0x3e1ed6c6
-	0x9705975b	0xaa3cc082	0xbdd723d0	0x7c0bbdd9
-	0x2bcf8414	0x787b2dea	0xaf923561	0xe4ad94a2
-	0xa85f83a1	0x1de0ddcf	0xd96f918b	0x617b1461
-	0xb1d3e386	0xe8d80b5d	0x40dad53e	0xcd8fb285
-	0x46fb4bae	0x2845c456	0x8b261251	0xf4923055
-	0x99d0db1e	0x0d7cc781	0x9bb20af6	0x7116d81c
-	0xd7f54821	0xba4eb2d0	0xaef6b275	0x3ca796cf
-	0x8807360c	0xd887484b	0x7066ec38	0xf7262152
-	0x5ede9cc5	0x6b8eb00c	0x5564b7af	0x4726dfd1
-	0x9421fe95	0xcc0ff9e5	0x10ca7e89	0xb76760e6
-	0x3da3a50a	0xf9cd3f82	0x1eb01d3c	0x13ae6371
-	0x129747e6	0xab223504	0x9978c7e9	0x1f7ce259
-	0xb17fb162	0xd1ac0e80	0xe04bfd17	0x197d9eac
-	0x59586a32	0x7436e8ef	0xc28b1ec5	0x83af0dc7
-	0x8382692e	0x17f04148	0x31ee5ad3	0xfe89b973
-	0x0148467a	0x1a6a16ef	0xb6400bcd	0x53ae7036
-	0x6b258693	0xb6edbeca	0x2ff0b686	0xe6f0c346
-	0x0e0ff99c	0x8d369a6e	0x7d10411d	0x2ebccabc
-	0xa67435d3	0xf9901563	0x363f164f	0xf01a1b15
-	0x93b6a10f	0x81f0c068	0x89b8423d	0x60eb711a
-	0x4e45bf98	0x24845e1e	0xda91d7f7	0x561e7ab1
-	0x51a183de	0x73bf29a6	0xcdb20f84	0x46d5ab3d
-	0xce01efbc	0x8d09be04	0xbf4aee2e	0xadf03a7b
-	0xbc454c61	0x83647148	0xec9e834a	0x11527826
-	0x2c7eb009	0xc6d7e3f4	0xbe8befd2	0xd3cc42a8
-	0x0442b41e	0x89643506	0xfd1dc572	0x74b340bc
-	0x686f6f6c	0x48b92189	0xe8f88be6	0xfc591dbf
-	0x8b453678	0xea1fd8cc	0x659d57d9	0xb501f90c
-	0xa6d6b031	0x182d8378	0xd6a8d690	0x6419c2b6
-	0x523d3089	0xc23c971c	0x43994015	0xa4b23066
-	0x831e6ca5	0x03c18610	0xd6d1f4b5	0x28978a3d
-	0xdc620eba	0xc1f86faa	0xf6c4d906	0xf06f85f3
-	0x232fa1bf	0xcf80cc2a	0x6599a5b2	0xc2d4cdad
-	0x0287eb92	0x5cdc4dd6	0x34a9b6d4	0x6d4b1324
-	0x6d21a837	0x00026037	0x80a225a8	0xad75b226
-	0x414a3741	0xb74d0962	0x363b24b5	0xb5044295
-	0x0a01c1a1	0x90a110c8	0x53bdeee5	0xad31aa53
-	0xfb85cc5f	0xdf80b0f3	0x7ad3cb0f	0xb5c68bd6
-	0x89185ff8	0x41544629	0xad5adfe7	0x39061752
-	0x2e9c106c	0xbf52a0df	0x9d2cef79	0x99eba49d
-	0x4459b32c	0xdc98fd7b	0xd81f2f74	0x8aa59f53
-	0x1817857f	0x5f79e3bf	0xc4b7c810	0x9e3a9ddc
-	0x724af115	0x121239e3	0x3c33c849	0xd8abb44d
-	0x600d67b7	0xeaa06b4c	0x20fe7ba6	0x502c684b
-	0xf212d37d	0x413d883a	0x5abc83ec	0x3112bb6e
-	0x27e1b3e0	0xf6dc8508	0xfe602c4f	0xa5b34bce
-	0x4d03d689	0xdacb23c2	0xa00fb513	0x78606ea8
-	0x8fd43ecf	0x90072d2a	0xfcc7b1b9	0x7ffec951
-	0x684bbc25	0xc21a0374	0x8f06a016	0x0e28dfea
-	0x40da3a00	0x8c73a059	0xc0d565ef	0x13bb6c81
-	0x6e27c2ec	0x2f4c9a43	0xae1b4513	0x9738b38a
-	0x5557c3e1	0xa292c6ab	0xd0f78cea	0xb96402f7
-	0x6c281a04	0x948787f9	0xe59f0714	0x6f130446
-	0x4b12e263	0xcae5e073	0x00f0e279	0x9b03c647
-	0x2a141b72	0x19d1e112	0x97b3b6df	0x3c2b6c82
-	0x5b119136	0x57e2084c	0xe954bc0d	0xcdfbfa78
-	0xadc6b571	0x010b9122	0x236676d6	0x2458c822
-	0xcbb8384a	0x662cfd01	0x096c50d2	0x4959676b
-	0xf8b59f31	0xad912a4d	0x2e87fa6e	0x30182092
-	0xc0bf2c01	0x02b4bfa7	0xdd208dac	0x4c174da2
-	>;
diff --git a/arch/x86/dts/microcode/m0130679907.dtsi b/arch/x86/dts/microcode/m0130679907.dtsi
new file mode 100644
index 0000000..30e2f9e
--- /dev/null
+++ b/arch/x86/dts/microcode/m0130679907.dtsi
@@ -0,0 +1,3284 @@
+/*
+ * ---
+ * This is a device tree fragment. Use #include to add these properties to a
+ * node.
+ *
+ * Date:
+ */
+
+compatible = "intel,microcode";
+intel,header-version = <1>;
+intel,update-revision = <0x907>;
+intel,date-code = <0x11142015>;
+intel,processor-signature = <0x30679>;
+intel,checksum = <0x1bb67b21>;
+intel,loader-revision = <1>;
+intel,processor-flags = <0x1>;
+
+/* The first 48-bytes are the public header which repeats the above data */
+data = <
+	0x01000000	0x07090000	0x15201411	0x79060300
+	0x217bb61b	0x01000000	0x01000000	0xd0cb0000
+	0x00cc0000	0x00000000	0x00000000	0x00000000
+	0x00000000	0xa1000000	0x01000200	0x07090000
+	0x00000000	0x00000000	0x13111520	0x01320000
+	0x01000000	0x79060300	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x00000000	0xf4320000	0x00000000	0x00000000
+	0x00000000	0x00000000	0x00000000	0x00000000
+	0x9703f29f	0x1c68d65c	0x1f15f858	0x114237f4
+	0xfef8d172	0x363b5a9d	0x4c3d9e71	0x13ff68a0
+	0xdb666815	0x5a17bfc4	0x4fca009d	0x099ae8b3
+	0x198e2c7d	0x7c665bbf	0xc07a1a7a	0x7dbcee26
+	0x867296b2	0xc885b6ce	0xe602baff	0x68544b14
+	0xc928c400	0x3add156d	0x531946f9	0x92a03216
+	0xda352322	0xd967ee1f	0x3c5170a7	0xf6de834e
+	0x5a2ed8b3	0x9fb8f050	0x450de17f	0xfd5ef070
+	0x4954575f	0xa3a071ab	0xb56e2afb	0xe2b48302
+	0x6655a958	0x57c9a438	0x1b2f688a	0x09309bc4
+	0x0be95612	0x529c1633	0xc48515d9	0x29eb78df
+	0x9933409f	0xda58dea9	0x58c805fd	0xbc110f5a
+	0x40780ec0	0x6ad59bb3	0xc7387fb8	0x591c1490
+	0xf9335932	0x32130e0b	0xef4b3c96	0xacd903f2
+	0x5b362539	0xe7f85529	0xcb17c41f	0xe7e440d8
+	0xfaf7e925	0x969b76fb	0x5edab8c7	0xf00012e8
+	0x121c2971	0xe5b18959	0xadfd07c0	0x1f09c9d7
+	0x9781006a	0x39550073	0x6c438b6d	0x436f60bc
+	0x11000000	0x46e87267	0x7c9db265	0x4ac824e5
+	0x94ed53c5	0x4b1bbf81	0x241a4da8	0xc3c5d866
+	0x186d6eed	0xba1e5092	0x3d19677c	0x82b56f7d
+	0x95d4d506	0xdccbbfb2	0xdc6be978	0x416dbe64
+	0xe591ce22	0x02987636	0x44858276	0xfbe3729a
+	0xee42767f	0xb415639f	0xbc959b72	0xa6919bec
+	0xb9e2d0c5	0x2fb1e39c	0x1ebae20a	0x9a3ce21a
+	0xebf72206	0x4020d73c	0x92674cff	0xbc607b8d
+	0x488d8dc0	0xd1d6f435	0x39e3ee1c	0x1ed65078
+	0x967d7a88	0xaa1b9f3b	0x38248bfe	0xb8a0aeb2
+	0x3b8e34fb	0x86dd48e5	0x887d7432	0x3a3a3faf
+	0xec556202	0x50ebe457	0x7676b9bf	0xe84604b0
+	0xcb26a17e	0x52c94055	0x6b39d618	0xa82d63dc
+	0xf583cafd	0x32107d4e	0x71d5aee8	0xad5956f2
+	0xad58e817	0xb6da62b3	0x66d63e32	0x00a13bc7
+	0x71233e63	0x326ef79d	0x2e3cf966	0x92b08830
+	0x42be3b3e	0xd49905d5	0x638b6a72	0xbeaa8cbf
+	0x5f28a0f8	0xff10578d	0x59a2d213	0x2919bc00
+	0x61398c7c	0x2a0865e3	0xf1a42982	0xa1e24984
+	0x2234d6c6	0xd6a9a013	0x79740c47	0x56cd5120
+	0xc4bb279e	0x707d1519	0x33b0445d	0xae3be614
+	0x3c3d5c9c	0x6eb115a9	0x4a2d5cbd	0x58718272
+	0xea01ac92	0x8a6e8d3e	0xadc4315a	0xc6ba0145
+	0x52363aac	0x4960bc5e	0x56a66f82	0xdb06eae9
+	0xbcf5c135	0xd59539a8	0x7b68c56f	0xe298be9c
+	0x8ac3c19a	0x3928fbea	0x4a72f2ab	0xbe32ec72
+	0x5928b934	0x6b56ff28	0xc8f2c78e	0x97d168ee
+	0x43381910	0xa592424e	0xb14ae0a8	0x46f724a8
+	0xded8973b	0x9f9100a2	0xd7cbb2b6	0x2db57173
+	0x217fd7ff	0xa85f3087	0x9e23192e	0xff8a0f31
+	0x86f1ddbf	0xcae0ea2d	0xcd0591a1	0x10733827
+	0x1758f010	0x38bfb48d	0xc0ec80d4	0x3a497694
+	0xe82c7b4a	0xf21a8a2a	0xc4ba866f	0xc88fbed8
+	0xe0e9a0f8	0x60ba6708	0x73fe95cf	0x46fab51f
+	0xab34c80f	0xcd06bd33	0xdee23ab5	0xbb405653
+	0x7948d7e8	0x88713e19	0xf3507645	0xc6cf938e
+	0xa690f2ed	0xa1603eaf	0x71688d1a	0x2fc9a057
+	0x3488d635	0x5f8eaa82	0x5c3ac4be	0xe15a8f69
+	0x0421729e	0xfe7dbfb0	0x5fb6c672	0x99c59c6d
+	0x2feb9ab8	0x0e831a04	0x1c8a41eb	0xe3bda963
+	0xcac53147	0xe6a154bb	0x1dd48215	0xe0fed62e
+	0xd0bc2263	0x820d5f12	0xc3df9df4	0x5c978a68
+	0xd4a6d275	0xaa7525d6	0x9e7c91a5	0xad05611f
+	0x8fa896ec	0x9d002d2c	0x06f50042	0xb05c73cc
+	0x2362a6f3	0xb1db87ad	0x2e08390c	0xb827d183
+	0xba59fc97	0x9c7f5996	0x5a6645b9	0x7ff51fb2
+	0x5f8b2b55	0xbdd03e7d	0x0d7ed8c6	0x0468dd35
+	0x4a32332c	0xfc2af9d6	0x33a14776	0x5a0b8da7
+	0xd278a1c3	0xd3f4df32	0xf06ece96	0x08bf7444
+	0xeb1076fc	0x7ac6604c	0x8810a1a9	0x64920094
+	0x0e68356b	0xef753730	0x9e5a90c3	0xd050c0cf
+	0x80c11368	0x37334deb	0x9a758bcb	0x6a50677f
+	0xe091cba5	0x5e574d20	0xce0786da	0xe8ac8ca7
+	0xb08cc364	0x599dec0d	0x755090c1	0xdeb882a1
+	0xdb41e3b9	0x5bea550a	0x588fcfe6	0x2f47fda6
+	0x3c535740	0xb01ef7a1	0x41318391	0x9573deaa
+	0x3b049cbe	0xba4a8bca	0xc70f0a90	0xe353d011
+	0x79493cae	0xb41bd61d	0xbb73d556	0x08fe7bac
+	0xd8214968	0xa6fd5c58	0xb90f3e26	0x7374f308
+	0xd9d66fb7	0x23db8822	0x1b1f7701	0xbb557c36
+	0xd8573d73	0xaccfafa7	0x245cdb75	0xd633e6a4
+	0x623cce13	0xff1b1379	0x068eb371	0x634b1fda
+	0x88d187f5	0xc7524ccd	0x4f907ff9	0x65ed9ec6
+	0x90f9f995	0xffe5e671	0xee78e6ff	0x48aa5768
+	0x1d5401d4	0x76125937	0xda829f6b	0x7066f6ab
+	0x35659966	0x59bf2950	0xfe3194c3	0x93e928ec
+	0x94ea826a	0x252f240e	0xf8293138	0xbd9c56a1
+	0x6d976d69	0x00c2bb0b	0xefe2fa50	0x718391d2
+	0xc2856548	0xba3785dc	0x594f8bb7	0x32a3e0a0
+	0xd4ac9cdf	0xbdee3ec4	0x0c1ed6c5	0x5cd2b1dd
+	0x9bd8afe8	0x5598b8fa	0x8899700f	0xe5b11279
+	0x6bc1eff5	0x81488bcd	0x0066bd0f	0x81a041c2
+	0xb8e1db32	0xd6f00d10	0x53c9f929	0xbf537406
+	0xe90e75b9	0x2846542a	0xf8111284	0x6f448d25
+	0xb9303c44	0x73ce77be	0x319187f6	0x2fa38401
+	0x6ce1515c	0x880a819b	0xf18f7bd9	0x4975e304
+	0x7f530a68	0xa15309fe	0x5d2ccf5f	0xfa1388b2
+	0x5abc2e7c	0xd7508296	0x90ab027f	0x1ed00025
+	0x67ad3919	0x040191cb	0x6f2750ca	0x371e23da
+	0x219ce1f2	0x2a94685f	0xf431a11a	0x8f3a916c
+	0x83add01d	0x15b7c162	0xc5fba638	0xc9231626
+	0xc44141eb	0xeb761838	0xf56010d3	0xed370b64
+	0x3d5c291f	0x369d136d	0x64eb568f	0xf0c2fb04
+	0x1ac908fc	0x5267daec	0x72b77c0b	0x9bd72098
+	0x90505914	0x0ab130e0	0xe9d4cc65	0x3841a119
+	0x49107805	0x104d8a9b	0x948432b4	0xa4d9acb4
+	0x01708bdb	0x33867b75	0x77ed63f4	0x6c59d6df
+	0x6ff89016	0xe140d51f	0xfd55b64d	0x2f260ed2
+	0xf5b97bd0	0x4a278b70	0xfebc3552	0x402ab7c7
+	0x1c563e33	0xde063184	0x32e862b1	0x56fd9e7d
+	0x8cc320a3	0x381ad628	0x736053ae	0x8a4d3500
+	0x9af58234	0x9a4f381c	0x2449cda8	0x8bdc08ab
+	0xe02865f1	0xe5384199	0xbc8d798d	0x6e7539be
+	0xbc3d0476	0x7e0d35ee	0x8bf8be24	0xfea1f124
+	0xc93600bf	0x055e1524	0x4d2e695c	0x8ca4be1d
+	0xf56549d1	0xb610a66e	0xf9644f1d	0x72c21fc7
+	0x325c68f4	0x7e46995d	0x98e494b4	0xb80f3796
+	0x63a58bb0	0xc0918dcc	0x90e1ec3d	0x02da69bc
+	0x48d03c2c	0x50f010d7	0x4e33c8ef	0x3868bafc
+	0xa1bbb203	0x6998fad0	0x69c1e854	0xdd61c5a8
+	0x1eae5c43	0x325a24f6	0xcccd1c27	0x286c1720
+	0xe4b90b87	0xae9d5754	0x35d85c1b	0x6dea7c71
+	0x528f612d	0x7bc8e019	0x4554a520	0x06f224b1
+	0x8f956a0e	0x3446bddb	0x05e3665b	0xf78be26d
+	0xfc87322b	0xed1809f8	0xb00b4c9e	0xad731b02
+	0x36cc1bb0	0x3e56e274	0xe1ef883a	0x07c6c2cf
+	0x86055da9	0xb43d2b6d	0x5e4030d1	0xb4a60919
+	0xbc12554c	0x0c1f4dd2	0x1cfeeebe	0x1c21eb21
+	0x32712e65	0x4791d232	0xe35d3bcb	0xe09629b5
+	0x34a07f0c	0x4220cfc1	0xf6b5e353	0x1ddba77b
+	0x1f9ceb98	0x78f1db33	0x9644dcd5	0xaf097bb9
+	0x066a83bd	0xdebaec77	0xf2c82254	0x29dc7087
+	0xbe788ad0	0x6379772c	0x10f39ff0	0x223458b5
+	0x28d5301a	0xd74cce3f	0xdd5a6fe3	0x8407e1fc
+	0x3a7d4db8	0x02e0f87d	0xc3c1330b	0x2c4990f2
+	0x50735cca	0xb9e45d2f	0x63c8c276	0xfe0b5168
+	0x7c54350d	0x0cb05c93	0xee247fb1	0x40a2c610
+	0x22a00f5a	0xdb4d1da6	0x2086a88f	0xd9fa3196
+	0x9d4cb1c7	0x59d40f0a	0xf52294be	0xbc8d5d0f
+	0xead98b7e	0xd31ff3dc	0x4e32632c	0xb9836653
+	0xeae227e3	0x1e334cf7	0xe5ee9187	0x479d5dd8
+	0xadf733a8	0x12c0a7ef	0xe8307249	0x8d72f210
+	0x3336e271	0xbcc12da0	0xb8d52e29	0xe94a46ae
+	0x5926aab4	0x7a929d80	0x60acdcd9	0x9031695e
+	0x76244706	0x48c3995b	0x17f9966c	0x3c1a30f0
+	0x50c0a42d	0x4ae56578	0x1a81d4ab	0x1395c82e
+	0xdf92c366	0x90a188ac	0xe2f83649	0x5696676d
+	0x7a507ba9	0x45f0e0ab	0x2d68a9bb	0x65d50b4e
+	0xa684fa7c	0x63a04a35	0x0f73e4ed	0x1859da4c
+	0x242dfeaa	0xffa2815f	0x04e5ffa2	0x30d55d0c
+	0x559bbc55	0xe68b716a	0x7dcb07a5	0xb1d3c43e
+	0x5b1bc142	0x77656508	0x5f03d2a7	0x13c21c86
+	0x008bf74a	0xe2f5bbf1	0xaee8a9be	0x9bd33d42
+	0x435aa8bd	0x9e8f958d	0x4a7a566d	0x5b2356b4
+	0x4be34fc7	0xac3f87f7	0x7520fbfe	0x351f4afe
+	0x67476a0d	0x64d18e88	0x71bd9d70	0x9da2e4b6
+	0xe7c611c0	0xf009f13c	0x8eb98619	0x74c22cbf
+	0xfe9f40ce	0x23864c9c	0xa0d7777b	0xff87bcf8
+	0xe42e3b0b	0x9c7fe855	0xfb365cf3	0x0ae87000
+	0x39558461	0x5a7fe922	0x52fb616c	0x1dee6ae8
+	0x430c550c	0x0a30532a	0x87403149	0xb708a4c5
+	0xcc1ff466	0xcfca59a9	0xd743b0bd	0xa7e0f484
+	0x6e7ee3dd	0xd5f919e4	0x9015fc59	0x39b566fd
+	0xdd3f25ca	0x8dfc6741	0x9179d918	0xcf08d388
+	0xe523b058	0x0c4407e9	0x25ae6238	0xafe9cf0b
+	0x9fc29e7a	0x236c823d	0x607add38	0x8833fd32
+	0x21c60d26	0x362de265	0xb6bfa503	0xbd27e44e
+	0x5b6bf836	0xe0d35274	0xebe7908f	0x7e076c9c
+	0xa34aeb4e	0x642898f0	0xc87e1a07	0x9bda87b1
+	0x3721f746	0x65c1ec7f	0x3d0ae8a8	0x3115b008
+	0xcb1a56a6	0xd1a76d04	0xfacd1b7f	0xe553744a
+	0x057f2c33	0x13caeeff	0x209c5884	0xc3211b8d
+	0x5a8c81d2	0x1e59cc0c	0xe7b42f60	0x510fc068
+	0xd200fa5d	0x23193201	0x1e534fe0	0xcf2037b8
+	0x6b6bd4fc	0x3e8e94c3	0xdbe1d38a	0x597d5871
+	0xec0129e1	0xb3be9453	0xa400f9f2	0x6ce19ff9
+	0x259187f9	0x24ec708b	0x5fc5f413	0x847c8969
+	0x9fcf3fec	0x0cff18ab	0x4cefa78d	0x35266a04
+	0xbee81833	0x32634f58	0xc9a7c8dc	0x614f28e7
+	0x4dd5ace1	0x15fc0226	0x3f8b4aa5	0x05606056
+	0xbdb5a3f1	0x851e10b9	0x2a6053e5	0x6df96185
+	0x2cd9cf8c	0xe28d1444	0x08d79dea	0x18da1e61
+	0xb59950fc	0xbbc8c699	0xae43972e	0x920023dd
+	0x13008ca7	0x54b36917	0xa35abb2c	0xd4984b2b
+	0x606083d6	0x4e49dabb	0x372ba59d	0x380f7bb4
+	0xeb861260	0x7f0538b5	0xef69498e	0x83bac8b8
+	0x2344d697	0x4f789a8b	0x2d98b057	0x4e94ee3c
+	0x983d7fee	0xaee49b46	0x00de7dcc	0x94c52878
+	0x6f9e3754	0xaef4b9b9	0x6b46ee19	0xddb10fe4
+	0x0dd24290	0x08f708af	0x3fb2e39b	0x3dace909
+	0x84838754	0x94149bb0	0x2359b874	0x4e09221f
+	0xa56ef81d	0x086f9c79	0x0d338c01	0xb2a91bf7
+	0xaa4d6c89	0xf49969e7	0x6a509eb8	0x809ec124
+	0x71563d2a	0x2b7dffbc	0x5bb334bf	0x18ebce8d
+	0x3e434c67	0x4904d4c8	0xd233d209	0xca3cd2ba
+	0x7c618885	0xf68cce7b	0x35adbff5	0xf61e3d48
+	0x4cb3ae04	0xaa20201a	0x6f491596	0x0b934538
+	0x16a605f1	0x57dfc39c	0x7aceebdf	0xb6082f67
+	0xc36b7e2b	0x592f3f53	0xee3cf851	0x76ec175f
+	0xabc73b4d	0x8d6dd974	0xca41dde5	0x74ab505e
+	0x8c15f4c1	0x9d41aa44	0xcc8fa5d2	0xa570465e
+	0xbbb630c6	0xfc977e06	0xa8b1775e	0x1f4dc519
+	0xbabada41	0x91b2fad7	0x1135566b	0x567652f9
+	0x1d0f955e	0x57c4c2dc	0x660bd5a4	0x59c92987
+	0x9d695aff	0x88aac7a2	0x20308598	0x8e12997e
+	0x29c5181b	0x53ae2439	0x7862d015	0x1626cc32
+	0x10f95eb0	0xbb25f25e	0x03b241ba	0x9bdc7bd5
+	0xf6106050	0xf5154783	0xe080521f	0x061e86cc
+	0xb2ca16e9	0x915f0a4b	0x8f4325c9	0x1a5f2ac5
+	0xc976520b	0xe0717cca	0x5ac6e76b	0x1f62f48d
+	0xf31e76e4	0x8c3a146b	0xc87d8c2d	0x8ddee751
+	0x8bf4db09	0xd2a686d8	0xf216b59c	0x911ecfcb
+	0x65842c11	0x630e6a6b	0x48985e2e	0x9e94bce5
+	0x5cb2afaf	0xe31d5ef6	0x7806074c	0x7744bf55
+	0x1355a6bf	0x388865be	0xb9d900b3	0xea2bce11
+	0xd0228c4d	0x816dd5f1	0xb3654090	0x6c296240
+	0x5956a149	0x402672c4	0x42830ea7	0x8099a3ef
+	0x1b0d2d24	0xc4180b6b	0x2228bf23	0x6ad12711
+	0xb41611de	0x34c8b9e6	0xe301bdbb	0x495e50df
+	0x809d2864	0xb3424c33	0x7399f498	0xc91b39d2
+	0xfec47b00	0x2a2230d3	0x61341d6c	0xe7a75efb
+	0x8aede4d7	0xb20cf7f4	0xfbef0902	0x4459ef58
+	0x197445ab	0xa03e71a0	0x25f67b4e	0xddfcd1c9
+	0x52f4388a	0x5af77420	0x8ffe5b18	0xa29fce69
+	0xbb0a60e6	0x373b3ad9	0xa00e19a6	0x2db7e515
+	0x1a77ced9	0xbd039c17	0x374d5460	0x9ec3a1e5
+	0x77434c84	0x0c22e7d9	0x5fb76173	0x8646c434
+	0xda49e7b0	0x03f47da2	0xc4e5ab4b	0xd3555a92
+	0x9765dab9	0x4848b517	0x05c2b154	0x6e2b996c
+	0x44964009	0x76fe7858	0xe9e8467e	0x1de54367
+	0xd124abd0	0x41ae9672	0x521ae70a	0x5f7430a3
+	0x44695344	0x576beff4	0x50ae299d	0x616c731f
+	0x6144c083	0xf032bf4d	0x3e3cb949	0x7ead292f
+	0x2151c92b	0xce4708c6	0x93bb3ef6	0x5795f4ff
+	0xbc3ad2e9	0x5a65010d	0x0b96c64f	0xcc0cea06
+	0x50e8a9ac	0x502fdfb9	0x03de0aa8	0x696fc1bc
+	0xd8c23367	0xe966ac13	0xcdac2cea	0xb1103122
+	0x902a809d	0xd876e570	0x197ca73c	0x6be80342
+	0xe20bc0af	0x13558f40	0xff1b5f43	0x6c4968f9
+	0xf707bb0b	0x2bda4cfc	0x51de4ccf	0xd9361c61
+	0x2bfc555f	0xdbbd4b0a	0x4b9d588f	0x9a744c02
+	0xd909ddcd	0x91a05ffa	0x2d8d4949	0x35aa9505
+	0x9c6364fa	0x95515e59	0xace63492	0x9e33a345
+	0x724cc057	0xb9d449f5	0xa20f8526	0xe2ed31b8
+	0xa0e9d2e8	0xcaf765ee	0x247314b6	0xd91fad82
+	0xab9236cf	0xea5ee132	0x10c8ed58	0x71faf9e0
+	0x7dee7eaa	0x2470519b	0xd4c9d2e3	0xc56cc95c
+	0xbf1a9b60	0xc170f2e7	0xa8505838	0x863fcb43
+	0x1208ca84	0x07781d9e	0xbd944838	0x460a62d5
+	0x0fef3252	0xca1964ce	0xfaecaa6e	0x5312a7c3
+	0x7ec09ecd	0x0e4a64c1	0x0e4379be	0x6b1c1bc0
+	0x47170f9e	0x12615e56	0x97d30146	0x6cdd0cd5
+	0xb012c33e	0xd1d11658	0x11609a29	0x064562b4
+	0x869c8b99	0xf4e59989	0x84fdc9ba	0xddd6bcf6
+	0x5496a219	0xdb079dd5	0x244e6776	0xb0d8afe5
+	0xf14dba52	0xceec92d9	0x73d66ca5	0x55a79142
+	0x844cd92d	0xf79ced97	0x1857b9dc	0x9addd16b
+	0xcb87c2d4	0xcc47c5c8	0xf6216778	0x047364f6
+	0xa3f057e5	0xc47f4b92	0x49b65696	0xc8476f0b
+	0x6150cae4	0x83e956ee	0x84952a17	0x32c001f4
+	0x12e6c124	0x8733ed63	0xa96622de	0x2b97d312
+	0x3c93d154	0x4a43719f	0x5c94d4a8	0x89138d7d
+	0x59287d4d	0xb6be0aa5	0xe38463da	0x0ad5cb61
+	0x10c3dcc2	0xa649403f	0x763dad43	0x15e8796e
+	0x23fed728	0xc65881e2	0xcae78b38	0xecbfa6a4
+	0xe9f4d662	0xb49b7fae	0xbfe36a20	0x9e1034dc
+	0x816472f9	0xb3cf5e3c	0xfd9ceb35	0x64985d38
+	0x28e5462d	0xe617f874	0x9d1cc79a	0x14987e3d
+	0x48847394	0xe396e54d	0x2a9d37e2	0x90d2c038
+	0x4680ae11	0x8ab15c2d	0x12e5372e	0x18b67728
+	0xffd655a8	0x8c0aeba6	0x42c3e703	0x996c63e2
+	0x0a5ff71a	0x242c4779	0x33068ece	0x59abc18b
+	0xea60c431	0x5992a226	0x5041dccf	0xfec6e22c
+	0x11146c09	0x77be906c	0x82879c44	0x51129cc2
+	0x77a9a0dd	0x3c68d1ca	0x02049622	0x10cb7324
+	0x9309b245	0x42bfb895	0xe011f9c4	0x0a907dc1
+	0xc3351de0	0x2385f003	0xf2d22a22	0xaa760f2d
+	0x38d628bd	0x71ef5bd7	0x37127450	0x446928a8
+	0xbb88d4d1	0xf46e188e	0x224cd2a4	0x4f56954b
+	0x70674ab6	0x9be90549	0xafd18245	0x4689e00c
+	0x07d8e74b	0xfe6a2759	0xa6847004	0x7025494a
+	0x2ef97b21	0x8aabbf03	0x46cdad16	0x2b300203
+	0xa22dcb97	0x2c643664	0xb721cff5	0xbfaa532b
+	0x9173a582	0x0a7c7658	0xbcaa4bd2	0x3c4c82ea
+	0xc1b1ebe2	0x1000d5db	0x178850da	0x2276213d
+	0x1cde5666	0xecdb0d8e	0xfef90d48	0xecd4d1f1
+	0xa96103b3	0x935c5a02	0x8e6fe155	0xd047165d
+	0x3002cf6e	0x9ae52c60	0x62cc7175	0xcafeeb88
+	0x826c0adf	0x4ea5baa1	0x085a2723	0xaaf5f994
+	0xbd599d45	0x8c7084ab	0xff2acaf1	0x96fe0230
+	0x4a22f285	0x710eb741	0x3f941922	0x0b2ca014
+	0x6b6619ec	0x1ac478f2	0x7d74461f	0x89668c79
+	0x3b9edd59	0xf51c425e	0xff6e246c	0x915b68ee
+	0xa1142d51	0x62409991	0x543f5f49	0x8579d5f8
+	0xf97989e0	0x98d23c87	0x393a9364	0xe56329cb
+	0xf62cd0a4	0xaa01e22a	0x5bc6c70e	0x1db499e2
+	0x2e35dc25	0x88d5fda4	0xb9204812	0xe282e4e8
+	0xee44d3f9	0x7c2374ca	0x9558fbe2	0x0df70c02
+	0xe78efdfb	0x4caf264e	0x757e955c	0xa06a145d
+	0xcdb5abc6	0x10633804	0x381ef262	0xee9d22fd
+	0x1922ed89	0x17c41f08	0x78db4265	0x47353c26
+	0xd741f54b	0x98f1e3c0	0x2843a6e1	0xb9fc4eff
+	0x30ba0638	0xf1e2fb9d	0x8c8f03c3	0xe300fa41
+	0x2a0b4a8f	0xaa66ca88	0x0372d9c2	0xbf1b3283
+	0x6d7bb883	0x073b7f90	0x90ea76ab	0x7adf3d37
+	0x94b412d4	0x2b788f5e	0xb76fa8cf	0x2ee0492d
+	0x2d30b5cc	0x097cb48c	0x26147e08	0xea57884c
+	0xe1bb97d9	0xd671b4d6	0xb9f45ee6	0x709ed07b
+	0x89e791f7	0x50a0abab	0x59bba13b	0x4c95ba8d
+	0xf06faf1a	0x9eba91ea	0x203a0896	0xe9180d97
+	0x2c747ad1	0x2bd9fdc3	0x9b66ccaa	0x511e730c
+	0x4d4afe59	0x261d4191	0x431f33e2	0xa537e847
+	0x07f3db81	0x0c553226	0x8fb5e7f5	0xdf27bec5
+	0xa91bf277	0xafb9ea61	0xc0c18350	0x96ecd71e
+	0x65713a84	0x913d77e0	0x740d13b7	0xb7524399
+	0x96d50b1f	0x3c33cc3b	0x1ffd3ccc	0x220fe9cd
+	0x13ff2a0a	0x7737d122	0x282709bd	0x66aae30b
+	0x2578d841	0x73c6ae19	0x77d5a00e	0x54705866
+	0x702c38d0	0x642437ab	0x97888628	0xc92ef39e
+	0x05ff9fc3	0xeee7a2e0	0x08c849c4	0x842988c7
+	0xff8e3d16	0xfa73e115	0x7a152edf	0xb4191cac
+	0x0c9eea26	0x5dbb6b97	0x922fc1e2	0x3c727b29
+	0xe447a6d9	0xe6428089	0xa1c2a174	0xa4b85d60
+	0x5f08cbdf	0x2015182f	0x754c5beb	0xa06453e0
+	0x20493816	0xdf17b930	0xf55bbe8d	0xdc28116b
+	0x7c8b4c37	0x87ea1da1	0x8268b17e	0xd4c4fe34
+	0xe2df10c2	0x240aa809	0xb0916d20	0xe96f934c
+	0x8cc175b4	0x478cf279	0xae91f6ac	0xe09c1b44
+	0xdab45144	0x6fd51ca0	0xda83d37f	0x37bf81df
+	0x52fe608c	0xb3f37371	0x156d69d5	0x12b9c82b
+	0xe7bb0089	0x01ae780d	0xe3f7be6c	0x32989ddb
+	0x971fc124	0xd9048910	0x7166fe08	0xd2724c31
+	0xbd2596e0	0xf7b5d8f9	0xcbb76a30	0xdbbbe890
+	0xe506ffa8	0x5932d8c4	0xea064da2	0x881c72ee
+	0xae1ea9f6	0x50a5c29d	0x5388f42f	0x213b990b
+	0xeb38f978	0xfb81832a	0x702338ae	0x9264d6c0
+	0x9640aeea	0x4f01ee0f	0xd99fe781	0xd9e8b556
+	0x35653091	0x0e2287a2	0x90b7f886	0xd4bcded0
+	0x4b964aeb	0x95271c62	0x12c8860d	0x196c92ca
+	0x8e4edf59	0x4907f388	0x9d275902	0xb9009a4a
+	0x30ecdf04	0xfbf86b10	0x94b946bc	0x5757c752
+	0x916f5c3d	0xd4a080ea	0x7dceecff	0x42dccf57
+	0x97ae2be6	0x4052d8f2	0xfb5cff0e	0xacb3972f
+	0x2fdbea67	0x44fd0087	0x2c8dd356	0x702872f7
+	0x5bdf98ba	0xcd436c1d	0x4cf42708	0xbb9b848c
+	0xafc7e684	0xe0ae15e5	0xbe77beb7	0x5465f78d
+	0xa1a5c3de	0xd7d1bf37	0x293dabee	0xd83985ff
+	0xb966b1e3	0x77908298	0xc814783b	0xf43be773
+	0xc7704e0c	0x7f6d46b0	0x1e9eae7b	0x2e110f7b
+	0x2c3e8cd4	0x198263e4	0xf49bbfe0	0x1ddf332b
+	0x2619d305	0x1c4f083e	0x218695b2	0xf6e9eb91
+	0x2bd46f27	0x8c903e19	0x77c69dc8	0x49ad5596
+	0x9b1e4064	0x33af259e	0xae57d885	0x0f89d69a
+	0x1a3c21c4	0xfa8d3523	0x33e1e79c	0x466a8b05
+	0x5318e75a	0xa64c31a2	0x9e8b489c	0xfa3dd512
+	0x19b504fe	0x087795ee	0x1a1119d7	0x92fd5dc4
+	0x161db69e	0x9b8246ca	0xa4f164c7	0xfa1310b4
+	0x7c761994	0x07a9bfd9	0xd76cda4e	0xd220fd89
+	0xfac3a0ab	0xa35fd4bb	0x103319e7	0x113cecac
+	0x8a0b2dcd	0x39001a5b	0x803e3006	0xbe2e8a0c
+	0x256961a0	0x40cf27e4	0x4229799d	0x14a30f23
+	0x23d80ad7	0xbb1082b6	0x1325fdc2	0x41082eb9
+	0x2c531bcb	0xd1c2c909	0x6b68d5ad	0xc7cec053
+	0x95119d6d	0x8cc85ae1	0xfd204466	0x0dd7b4e7
+	0x930de6b2	0xf0386cb7	0x09867321	0xea6aed3e
+	0x0bc79d5a	0xb2d88c9e	0x387fc5be	0x264b3e24
+	0xa962b5d4	0x6f6fc6d9	0xa1b8a9d4	0x65b61263
+	0x91383a61	0x6b1e8571	0xbc902055	0xbc53cf50
+	0x4fe8e29a	0x048ff6ea	0x9a7d949c	0xa83ceee6
+	0x25b5c85a	0xa10a7511	0xf606a949	0x57b41656
+	0x230afe7f	0x73d65619	0x9819c9cb	0xea609f2c
+	0x4bf6fe21	0x4de72091	0xc439faca	0x58ac932d
+	0x36944d39	0xd046acde	0x8495bc22	0xdb20e8e7
+	0x537d1619	0x8c96eb24	0x8f0dbb8c	0x2461b9b8
+	0x1f9e9c0e	0x0e58f1cd	0x196ecb76	0x7ce9198c
+	0xfbea063b	0x06d810ac	0xa5acf2e2	0x2742822f
+	0x17aa581c	0xb214addc	0x6b8da387	0x3a66dd9b
+	0xa28ae955	0x347f5607	0x755e2679	0xd76cc2e3
+	0x80a38077	0x2a85effc	0xc42f63c5	0xba4f0c04
+	0x2df3075f	0xe119e31b	0x74c09c92	0x8f0de61e
+	0xfd1c0d09	0x0e03f74b	0x3730c527	0x8913961a
+	0xda9a8573	0x0d060655	0x41e91539	0x2f145441
+	0xac24e688	0x71df76c3	0xdd88e778	0xd082154d
+	0xcc87a1cc	0xca1d5469	0x55a9d11e	0xa1496402
+	0x5328879d	0x01130306	0x0fb6e89c	0x6a88d6f5
+	0x2c35d644	0x64787df8	0x0cda642c	0x050d559f
+	0x34d986cc	0x4d46a0c6	0x16958610	0xb095b7f0
+	0x42344d4a	0xaebcc04d	0x38cd1303	0xf55ef5fd
+	0xa2229e10	0x1c84dd21	0xc751cdca	0xe70e4d92
+	0x7cfbc446	0xc346c504	0xd1d0c3d0	0x1a11f80f
+	0x4c3d3092	0x860608e8	0xc629974d	0x36b7ba9b
+	0xa6954e66	0xcddd2377	0x2484d0e3	0x16364b7d
+	0x9f5cff4f	0x510b68a4	0x3f66ffc0	0x3fd56799
+	0xe0e9ee0d	0x2733808f	0x91e062f9	0x0194bacd
+	0x7d0758d6	0xe5c3b76e	0x877cca91	0xb1c6caa6
+	0x6d8390c1	0xdbef1e02	0x4900b2c5	0xb9d48fd0
+	0xb86444ca	0x4b32cf44	0x9d52f809	0x5e465a79
+	0xa654d13f	0x5005bc4a	0x2ff38509	0x90a06923
+	0x567912ad	0xca101885	0x9d2362e7	0xf5dcd206
+	0xd8b2de97	0xc9cfbff2	0x850b73b9	0xa9cce812
+	0x1c89f5c1	0x0e93ca25	0x26977294	0x00651015
+	0x3b6ac439	0x2454a988	0xff2cdd4e	0x0d90452a
+	0xbc9f8a09	0x93f1c4dd	0x650c020a	0xfb9b37df
+	0x2f7211bd	0x9cfce13d	0xb02cb359	0xe149b294
+	0xe6c478d6	0x0ba8d9e3	0x3e8d6b1c	0x28549a36
+	0x5b389e02	0x92d73111	0x33053a24	0xfb4295e8
+	0xc31f642c	0xcce6d7b1	0x19256f9b	0x05af3c0d
+	0x46c876d7	0xf3cb570a	0x5b3419c1	0xeeaf101a
+	0x2415133a	0xa5e5d7ff	0xdfbfa790	0x5fb1acc9
+	0x4b411267	0xfb5f01ae	0x44c85d60	0xf574f2be
+	0xed6951a3	0xc72b9616	0x7a400d1f	0xafb1f5fd
+	0x036d3f4d	0x00426a64	0x10152052	0x16fbc209
+	0x5eb41a25	0xbdd91d58	0x23a593da	0xe99994ed
+	0xe1dfc74c	0x2ace293f	0xcffca29e	0x3f9eb981
+	0x46b74da1	0xa08addc5	0x2e4db3cb	0xbb35bd91
+	0xcf047df0	0x9f000bc2	0x095cd891	0x0e8b0afd
+	0xdc862db2	0x381de055	0xfe5b209e	0x98a6ce93
+	0xe07ec88a	0xed2dace1	0xb5f6ed90	0xa59a3995
+	0x3987443d	0x56650b10	0x0a8c01f1	0x28599c21
+	0x51817fe4	0x88ac9845	0x8a5d7b55	0x89a15b17
+	0x0457e30a	0x9ecfdfff	0x03c7290e	0xf14c569e
+	0x88963e60	0x7bc5e18d	0x595ac0c1	0x29f34d31
+	0xd0870bde	0x58fb1622	0x2736799a	0x20c6ab00
+	0xfd606ac9	0x5931c90f	0xe93eb3aa	0x78f4fdb1
+	0xe3c0b354	0xb02dcb2e	0x028635b1	0x6084413c
+	0xbd262370	0xdd84b981	0x50f4cc00	0xc2a13e6a
+	0xf195d7d0	0xa568ace4	0x3506ccda	0x1a7b1e49
+	0x6b623dd4	0xd5b43db2	0xbd2db225	0x5fc0873c
+	0x07b0e0e0	0x8a7c7240	0x51d21461	0xe39acfe0
+	0xe8b1d0dc	0x319cc88c	0xdbb0501c	0x2d530ef9
+	0x6796f013	0x8d7c42e6	0x64840fc6	0x95f18131
+	0x14128fee	0x06ed7694	0x053701e1	0xa113706b
+	0x7efa1437	0xd988408b	0x15a55f2f	0xdf2da6de
+	0xe1637888	0xa6eb0132	0xe5a49f75	0x13421229
+	0x76b358d6	0xfd430ce4	0xe4b54719	0x4d373720
+	0x2363e083	0xc7c3365e	0xd2c691a7	0x337ba782
+	0x85f0e27b	0x6f270f7b	0xda2e7bd6	0x86aa4e8c
+	0xfccea641	0x4ccffdd1	0xfba17e58	0x48f98550
+	0x7fa85f31	0xabf971fc	0xd24dd6a5	0x2a360f9b
+	0x955234ec	0xe75f238d	0x76ce3dd7	0x9dcf7973
+	0xd90c8737	0x23aa80b6	0x9e4f45a2	0xc8e22d59
+	0x9e74d525	0x2cdeb43e	0xeddedd26	0x14b8ca5f
+	0xd42f6bee	0x4ea5803f	0x772d0ebb	0xe7990ff2
+	0x02e47c5b	0x1c88d149	0xef43755f	0x6482ddcc
+	0x1aa8c862	0x169fd30b	0xfe19600c	0x79253784
+	0x61d94629	0x078a3859	0xfed2680b	0x8bb14474
+	0x9fe0981b	0x0e4cb157	0xbaaedde2	0xff3711ec
+	0x1c03dfb4	0xdb4f9346	0x67faa4c0	0xa9fda842
+	0xd1a08a3b	0xb675f6e9	0x2eed32af	0x54169c1d
+	0x2ab8047e	0x0fa33847	0x69c4eda5	0x4f47713c
+	0x8186f17c	0xc68e0d8e	0x1e512fa9	0xb200eabd
+	0xefe05879	0xec521f72	0xc3b7670f	0x06d96a0e
+	0x830dd6f9	0x293926e7	0x49355c40	0x4bfa924b
+	0xb19404fb	0x4cfcf114	0x39f09bee	0xc5959edf
+	0x17e43b2f	0x36b8cb37	0x48d36720	0x87142d1d
+	0x4dcac00b	0x346a77e0	0x833ec251	0x180a0eb8
+	0xec827f6f	0xd389e5b4	0x193666a3	0x40deb1ef
+	0xeb287db0	0x59d72fdd	0x16c01b8a	0xb2f21a23
+	0x78fae723	0x96704b79	0x1cfa8eb2	0x3174d946
+	0xeceb41a1	0x8af02dd6	0x19b3cc91	0xfb452b01
+	0x185564bf	0xadca8abe	0x5dc86f8d	0x6f8752d0
+	0xef5c4281	0x57053d43	0x84ea5d02	0xb4d2053f
+	0xd5f4c35b	0x907f2a8a	0x782ec949	0x773fd7bf
+	0xb71de809	0x6ad67473	0xfc0f2916	0x7e011263
+	0x8388249f	0xc222cf7d	0x1b8123e0	0x2315de70
+	0xd8cdcf39	0x0181feda	0x6e39af97	0x0b77654e
+	0xaa0c9e17	0x863fc367	0x0615d44c	0xe29b86e6
+	0xa1948dff	0x6d4e1893	0x40db2923	0x4d9b1c95
+	0x4803e7f5	0xfaff923f	0xc1031c3b	0x8ee8b451
+	0x31288c50	0xab825d13	0x1c1473b6	0x08b41dee
+	0xb714574e	0x574040da	0x583db761	0xd3d2139a
+	0x9fb3f39f	0xa0cf0027	0x315521b8	0x4c1f5cc9
+	0xdd80b461	0xf1460806	0x0f0ae57b	0x2b8258c6
+	0x4578a951	0xc16a1b9e	0x147faa8e	0xc96ec7a2
+	0xd03de9cb	0x8df8317e	0x0a619904	0xa65850b3
+	0xff6b05f3	0x5f645c92	0xce69f994	0xa1846ae9
+	0xaf8789ca	0x08dba3da	0x08dda80c	0xe8e396d0
+	0xd9478844	0xc47706bc	0x2f56c392	0x0032ce69
+	0x1e25b40c	0x07d67e34	0x2148bd55	0x9b196864
+	0x7955790a	0xeed52b37	0x6e7bb914	0x3ffe3c36
+	0xe65f8946	0xac51ada6	0xae9b3001	0x5bfd4896
+	0x5d04baaa	0x744c6bd8	0xd8d6c510	0x25d25740
+	0x1f97ac5b	0xc37f23a2	0x17fa1b4d	0xed300b12
+	0xea71b408	0xceeed65e	0x96db804d	0x709d79ae
+	0x20546660	0xbab82134	0x51d74293	0xc02a65c9
+	0x0b1ec776	0xf2b31fc7	0xcba74077	0x4f0c1ae0
+	0xc07f66ea	0x170f1224	0x4acb1ec3	0xfc7b9cde
+	0x07e006ab	0x9da5ed04	0x8370e78b	0xc39691c9
+	0xed854623	0xcfca7c05	0x3d2e700b	0xfc52eccb
+	0xf5c71a7e	0xe4cc4143	0x9164e2b9	0xfa7fabd6
+	0x505ff063	0x2859ed81	0x776b50ed	0x3b15d21a
+	0xd2f03b4e	0x8315f3af	0x5269b9d8	0x31bd7c3f
+	0xf99d8e31	0x7df70284	0x568956ef	0xbe3d74b8
+	0x8fbed915	0xc4e227a4	0x689efb23	0x3d323ff1
+	0xe225e3a6	0xe1fc3a94	0xf988514d	0x161b6ebd
+	0x712dc25e	0x21aa2ce2	0x6c630ed8	0x789c1bbf
+	0x7eddd464	0x2a79f889	0xc7c0f496	0xda39e80c
+	0x6fc17a39	0xed41038e	0x42491e77	0x0097fdfc
+	0x25083426	0x0ed5da03	0xa867753b	0xf2629247
+	0x6bf18213	0xd33549e6	0xd127896c	0xbd2440ba
+	0xba184a7d	0x5f534e5c	0x12fe02ae	0xe5234798
+	0xb3e47348	0xad96a97a	0x177e5fe4	0x62a0ebc4
+	0xf74d4d2e	0x2667eb23	0xca156680	0xc2d6ef24
+	0x8b03cd6c	0x65cdd0a7	0x02a17a02	0x1e5d73df
+	0x8d3d1985	0x634424bc	0x6e332211	0x8f619bb5
+	0x2e57902f	0xfc18e1ea	0x5327dfc5	0x249904e0
+	0x6c7e15d6	0x4c93e017	0x72b72678	0x47e3a4c5
+	0xf925b0ab	0x861b9efe	0x2110a250	0x02d111cc
+	0x01db264b	0xc78ffd32	0xd35b62ef	0xc5e26509
+	0xaddc32b8	0x7384adb3	0x14dd80ed	0x6ea3c9a4
+	0x8846201e	0x43f496e8	0x18dbde7a	0x9382de97
+	0x2571ea26	0x73e1c559	0xbf0328fb	0xf54e01b2
+	0x787b9baa	0xcda5ae3d	0xa7f7c5dc	0x794063e0
+	0x6050f2e3	0x3d067abc	0xcd348208	0xcb7c206a
+	0xdb0f590b	0x0556823d	0x9daafb23	0x68de4801
+	0xdd3d5c14	0x153ae055	0x379ae503	0x05a4d468
+	0x35a3809d	0xb41a49b6	0xbabb51f2	0xa9ade96b
+	0x2eed4a4e	0x682e04cf	0x3fb8a3b0	0x71a6e838
+	0x6b1924f9	0x2325ba72	0x4bc9513c	0xb95807c3
+	0xc7e5c617	0xe0eb5303	0x22e25ed0	0xd86c0256
+	0xbc03456a	0x985b81ce	0x9c2ecf75	0xcbe1292d
+	0x12aee1a9	0x6f83c685	0x20e348a3	0x9576eb55
+	0xad06f6fa	0x36293aea	0xf587b498	0x73e5eb09
+	0xd47e5cfa	0x9379d70b	0xb87fa431	0xa4791f08
+	0x003dd242	0xe64437bc	0xae50505a	0xc5a337ad
+	0x9a63bf9c	0x9fb46dd8	0x06d6d6b6	0x1d557c65
+	0xe19a751f	0x8851e1ef	0x88474420	0xbda6a5ca
+	0xe5c570d1	0xbd520d15	0x9c991349	0x774847fb
+	0x09062314	0x74ffcd56	0xf244496a	0xbc822fe7
+	0x6619f249	0x19ecf3d9	0x0356ec07	0xc754b087
+	0x0c2cc5b2	0x0a928559	0xa63defac	0x2a1016a5
+	0x59f9579a	0xa32ac751	0x880156e7	0xfa98f785
+	0x561f9243	0xf8ad3b44	0x88d09686	0xb7656804
+	0x1d733be5	0xf835036c	0xd9854eb6	0xe3d3e252
+	0xa335451d	0x6cef2f72	0xed2d8bad	0x40ccdac7
+	0x026ccf2b	0xd8907e8e	0x6b9dcb88	0x6db1b016
+	0x88b67853	0xf169c4f5	0x71d030fd	0xe3d0e64d
+	0x331b875e	0x14156d9b	0x8e34aaf6	0x735eb827
+	0x7d96125e	0x757b15ad	0xa501ab24	0xc155f8b0
+	0x9c49cd8e	0x5a8e7118	0x74af8bb1	0x9e8de93b
+	0x07687721	0x5ac42b56	0x3042d915	0xe30e20e2
+	0x94a1e376	0x73d34595	0xce30d8f5	0xefafdcd4
+	0x67a242b1	0x27dc9594	0xf8fae52f	0xc4f6ceff
+	0xd0ffedf7	0x493359e6	0x1deda1da	0xb944d24d
+	0xf483b532	0x40396343	0x312c13a9	0xfa616fdc
+	0x5e318d6b	0x57bb126a	0x79433a17	0xfdae5d08
+	0x24350f44	0x42b9819c	0x8c3e4914	0xb8fd955f
+	0xb66519f3	0x03376aa7	0xc7b35448	0xec75d467
+	0xf861dde6	0x75d9ebec	0xcbc3e8ca	0x5e6d47e1
+	0xe7e499fc	0x6123c26e	0x19fe2cc3	0xde86af73
+	0xf0de8655	0x230a6313	0xe484cae8	0xf160e445
+	0x7c3ad8e2	0x29a2347d	0xcab560e0	0x737c2d14
+	0xb60d784e	0xe34dc241	0x39124427	0x632bb7af
+	0x150080d6	0x2988d6b3	0x435e4222	0xbc26852f
+	0x2cd7e704	0x0e2a05b2	0x1c41169f	0x07c41b03
+	0x0346f767	0xe96b6733	0x54dec6b6	0x8f2d3c90
+	0x1fe618fa	0x75dddb13	0xc9ba2a28	0xe9cc9369
+	0x2c8e53d7	0x3f781a20	0x5791014c	0xadebd041
+	0x855aee45	0x996d5acf	0x9f7219fe	0x94a426a2
+	0x779c04fe	0xd8a5f141	0x9ae3cc2e	0xce57a8ee
+	0x4865de61	0xe14d8d5c	0x98389084	0x81bdf77f
+	0x72aaab47	0xb11b1e31	0xb23c943d	0x65b0e428
+	0x9d2fde62	0xd64cfc1a	0x9ded7094	0x1446e84f
+	0x7b660a21	0xc26c252f	0x5ea92407	0xcc2dd193
+	0xb18d6c04	0xe08faa12	0x84366ee1	0x53dd342b
+	0x88f99d7a	0x97754233	0x54777ee2	0x72103530
+	0xffb77bdd	0x67c3f3f9	0xd1e9396f	0xf7e91a5f
+	0x1ca09c1d	0x148dcedd	0x4812f994	0x734bb2a8
+	0x4c616674	0x79e0669c	0xcc3695a0	0x965c6b99
+	0x54b4bfe6	0x24ff8fe7	0xf227fa4d	0xaeee1502
+	0x2207334b	0x444d4768	0xd1c3e5ac	0xc635e962
+	0xa5fdc383	0xd642360c	0x0bb1d6bf	0x40eb05b2
+	0x563d58c3	0x37ef1c49	0xdbdef02a	0x5c954622
+	0x249cd7d2	0xbc00f7b7	0xb9d311b0	0x84ebdfc0
+	0xb777296b	0x8f922505	0xe3007f02	0x45369d3d
+	0x1b1ef9ca	0x9434faf1	0x955491fd	0x918dae49
+	0x2c55e53d	0x2bb5e664	0xe306a3da	0xe9a4b542
+	0x74fecfe8	0x315d2566	0x42ce0ebd	0xfc8b2c09
+	0x4503579c	0x0194db62	0xaae82e99	0x638cc58a
+	0x6253580a	0xa9e134a9	0x7cf09364	0x2a0f2762
+	0x555e0f4b	0xcaf84599	0x88ff57dc	0x760f71b6
+	0x5f3b52b0	0xf8762c98	0x37d45f0d	0xcefbb54f
+	0xc99699c0	0x54638fd8	0x5d116ae9	0x0b125847
+	0x88aa62a0	0x8ac7b007	0xa97c115d	0x128e72e1
+	0x035d5aa7	0x5d16a915	0x9f1ef842	0x8e23b89c
+	0xb52d59c8	0xc048bbf4	0xca42c82d	0xdc85185d
+	0x0011465f	0xbb025e83	0x9ea0ffe0	0xda4c0e4f
+	0x89401781	0x7a3074d7	0x878b8546	0x9370c686
+	0x5ca6f5ec	0x96808035	0xddb4682f	0x5a616b12
+	0x57618954	0x0e3f255f	0xd3072641	0x8eed8068
+	0xb8fdf1c9	0xb417e2ba	0x9c613492	0x75c3a921
+	0x2e7e0223	0xa9a68825	0xef180ab9	0xe2550aff
+	0xf743b61a	0x92b02868	0x2e4d4a92	0x094055f0
+	0x5b901d5c	0x6512ecc1	0x1d6d35f0	0x114f6a1d
+	0x40bf1f43	0x8e7ba25d	0x8cee3d80	0x5df565ca
+	0x29403904	0x27cd7367	0xad48535d	0xa6e54d45
+	0x24b9e3aa	0xe301871c	0x53e21f70	0x514fb2e2
+	0x937c0248	0x82624d35	0xbbf2a9f7	0xd7b6e482
+	0x21c76f4d	0x430c1bea	0x445ba31b	0x7732e9d2
+	0x19175315	0x712cce54	0x56d653ba	0xe55361a9
+	0x7543f198	0xa8f9e517	0xe8ec0529	0x4681a1aa
+	0x3edd8dbb	0x8cec11b7	0x6b6f0bc1	0x8b9256a7
+	0xb5e86885	0x1a2d632d	0x59dd488e	0x4d529b15
+	0x87d3b0dd	0x3e334eb0	0x8ecc38cc	0xbcd42c7d
+	0xee7b85ad	0xf8db1ebc	0xf7242be1	0x936c4ad5
+	0xf0d3e133	0x15b21e10	0xe13ccd7a	0xafd28ab2
+	0x86f873d4	0xe75498df	0x1cdcacc7	0xa0952f4d
+	0x9c1aef8d	0x4c45d667	0x1ce18e2b	0x95e753ae
+	0xd3cc14c1	0xbc9d6c08	0xb9bb31cd	0xc38cfc3d
+	0xa0f90015	0xe71ec516	0x89996ee4	0x3ca7b1bb
+	0x5cb81d2f	0xf83eba1a	0xd4c7f0ba	0x0fa3724f
+	0xf70fc314	0x6bddc2b5	0x6b5b73ca	0x7fbeb86c
+	0xdc04567c	0xbdee5488	0xa5e84cf9	0x2d923cd3
+	0x10affb44	0x7072a096	0x569c6186	0x73b955ee
+	0x5f51325b	0xdbe6d601	0x80a09027	0xdce073bd
+	0xc4a57e68	0x8e36feb7	0xe95f03c6	0x24536972
+	0x7e9d0914	0xae891f9f	0x71b00cfd	0x4ad1d3cf
+	0xb0c12a1c	0xe6ae12ac	0xe55fae1d	0x41fa24e1
+	0x26ac1069	0x07f63225	0xdc6af020	0x736be557
+	0xbd81cca4	0x0d970e26	0x00aeee65	0x5a95aa6d
+	0xe11d862b	0x73445f3e	0x9debc7c6	0xb9fb9316
+	0x70c80f6b	0xdc3b462e	0x98e55897	0xe3c038bc
+	0x1e6be1e2	0x6b73a471	0x6b08dee9	0xc11316c9
+	0xa03ccd1f	0x9850a735	0xf6f69d7f	0x5f84661a
+	0x35124e9c	0x580021ad	0x83f5cc8f	0xbf6299b3
+	0x87a9300f	0xbfdeac53	0x3e71aa0f	0xef0f924e
+	0xa05ccefc	0xdde79132	0xd37fab59	0xf09bd0f0
+	0xe3d45f0b	0xd800d032	0x23b74559	0xccbaf882
+	0xd7482f3e	0x19b61427	0x8812072d	0xc7b547d5
+	0x3d77bbad	0x16a7a565	0x613512b0	0x1f5941d8
+	0x15c469c5	0x6b594868	0xea78dc23	0xb7edca03
+	0xec75b400	0x85960837	0xe295e802	0x442d5aa7
+	0x1a505b0a	0xb7100575	0x126ab9c6	0x30fc8981
+	0x33d1c5e6	0xe7b36f3e	0x2529f025	0xf7de09a4
+	0x9a237b73	0x4199b6e5	0xcd0ca5cc	0x483c7496
+	0x18a082e1	0x49d36b6a	0x29194f20	0x256236fc
+	0x7ea67a7c	0xf9902240	0x29abc52c	0x58178309
+	0x8d87c634	0xaddfa3ac	0x26a7582e	0x22a46c59
+	0x30275956	0x823d736c	0xc3fd5992	0x49151051
+	0x6f7e26a6	0x69f61e26	0x151611e6	0x0c0603d3
+	0xd472a6d9	0x3b41cc64	0xb2cc8f30	0x361a119b
+	0x2a6325f8	0x6068c424	0x770c3284	0x72ec88bc
+	0x833bbba5	0xa70802ca	0x32a5545e	0x5c22e9d0
+	0x5ab3d9f5	0x9007e5b7	0x24e39b69	0xd33bd9cf
+	0xdc9d6e9c	0x2b7836d5	0x757c6cc8	0xcae907cf
+	0x9e46c6d8	0x3bccb4b9	0xc66ab681	0xab9b12de
+	0x366df0b5	0x7f785550	0x258959f3	0x3a72720d
+	0xb4044294	0x11e76388	0x78006943	0x94321f26
+	0x09e5d3f9	0x2f82cd05	0xdee1653d	0x39b9ec91
+	0xc9012ee1	0xf885bae5	0x79493693	0x2b13808a
+	0x5376c547	0xc997b444	0xc581c3d3	0xbad42d8a
+	0x4901b3b5	0x968eee21	0x77455af2	0x10b0fa5b
+	0x20d71f73	0x575412ef	0xf205f541	0xc551b8f8
+	0x12773d9e	0x7561b494	0x8e5a2137	0xfa842331
+	0xf4a22b14	0xfceb868d	0xc3f356af	0x99c600de
+	0x9803462e	0x35bed02a	0x45f52576	0x3b87c4fe
+	0x92846fbc	0xfe85457b	0x5c17ab10	0x06ce7af4
+	0xced24e04	0xc0e6ae3b	0xb125d859	0x92364ba9
+	0x3a0042a4	0x910bbb65	0xf23b6521	0x5c0fab3d
+	0x3a3d8051	0xd213a5e6	0x16553ef2	0x3413123f
+	0xf7bb2e3c	0x174d8805	0xcc640b23	0xc4713fdc
+	0x9636237c	0xd71729a3	0xc301f9f2	0x63189fdf
+	0x88e96526	0x71b83d67	0x5e819dee	0x03b95fd1
+	0x50d95d14	0x6a3f8a67	0x23c337ae	0xe1863d6f
+	0x6c4b54ee	0x2d361ae5	0x7fe534f4	0x95c737b8
+	0xc9e50fe0	0x97c348cc	0xf007d43b	0xc6f9f79f
+	0x23d80edb	0x921ba7d4	0xae2ae8e1	0x67a7d17e
+	0x6773c41a	0x538aeedf	0xaae06e55	0x21150c78
+	0x2e80e133	0x99361ca3	0x717ea509	0x039822dc
+	0x18792613	0x55ddf173	0xc9c048be	0xd5e49d71
+	0x8adbc8a8	0x81200c61	0x6ae354ed	0x1a708d48
+	0xb349a77d	0x074143d8	0x2d0eac87	0xedacdf08
+	0xa964c6e8	0x3848583d	0x7916be91	0x7be53a63
+	0xe924661f	0x4fd00b9b	0xbfd03db2	0xb65d4052
+	0xd33500dc	0x73a5a54f	0x93c2a984	0xe114df2a
+	0x170408d5	0xecd50a31	0x9f20a1b1	0x34267201
+	0xbdfce32a	0xd8006ace	0x9732c7a5	0x3334c162
+	0x6ef73bfc	0xbfb4ae2f	0x68eddc82	0x2421d413
+	0xa75f7db0	0xb68d99ae	0x3b77b2c4	0x2e5f5aa2
+	0x18a02c7d	0xaecfaf69	0xa798a7a1	0x1710b58d
+	0xdda63c42	0xc0b9f0c1	0x6e98ac03	0x0a6ec04c
+	0x65b6d31f	0xbb420c7b	0x2d0ae4cd	0x073969fa
+	0x075ab187	0x37ebf9a4	0x75b32e70	0xf4e3b50f
+	0x072c13c7	0x629d6d10	0x692a9f39	0x9d424951
+	0x7ccc6e4e	0x0df85aa1	0xaae96b53	0xf0fbe227
+	0x79f4cba3	0x3a4cfe17	0x31005c06	0x2ee79ed9
+	0x175662a2	0xea67d5f8	0x6a585206	0x74ff608d
+	0x8d0e43da	0x46e465a6	0x8b3a1789	0xf58de200
+	0x7470ee83	0xf4b3081f	0xcab7b26c	0x679c03c9
+	0xb2f3e0b7	0x7b0ce5f0	0x54458cc9	0x10adf9d1
+	0xc6418621	0xda7db924	0x42c87af6	0xca18ee03
+	0xbbe316ad	0xffad751d	0xa90e2f31	0xa4f1b741
+	0x79b692b2	0x51c015f8	0x1ec279e5	0x0b66f53a
+	0xd873b167	0x86bb7c09	0x6250d31d	0xfc276aaf
+	0x1b912c09	0x033c336b	0x5e23abfd	0x4f5c8997
+	0xc674dd92	0xfa1817df	0xa56ca16e	0xec6b2cfd
+	0x2feac778	0xc468211e	0x8b60ac67	0x712cc8fa
+	0x4380f941	0xccc528dc	0xc71b2dfd	0xfb08d4c6
+	0xd493c636	0xa7783d6c	0xc7df0669	0x716e9db7
+	0xaf231a4e	0xda22d68f	0xe33184b5	0x3c207ff9
+	0x0318cb6a	0x42e7c8d7	0x4397e1fd	0x6b178ba7
+	0xf979d8e9	0xa968800b	0x3ef4c2f7	0x35386ad6
+	0x1c02b942	0x7a320432	0x2b210df5	0xd2dcfeb3
+	0x8151e49e	0x3fa01660	0x20b2c744	0x56869e1c
+	0x536b6037	0xac6a3c1c	0x7da9b889	0x510a284d
+	0x25e3a895	0x0dae3e72	0x54680194	0x5c8bac35
+	0x95037fd5	0x0dc924a1	0x06eb65b6	0x7e094b2b
+	0x34283775	0x5dd176d9	0xe30c266f	0x70249a10
+	0x2652882d	0x07b82677	0x6f200cbd	0x7cfbde35
+	0x7fb2004e	0x2c01c9cf	0x559cc8e0	0x61a1a572
+	0xfe7ae6a6	0x3658fd46	0x1f72b09c	0x716562d3
+	0xc3fd2552	0x4a7faf26	0xd1b88210	0xfcc8a888
+	0x9352ada2	0xc9649b3b	0x864ef2f8	0x40c3cc52
+	0x38c11046	0xf4b7b9e5	0xd3507c37	0xe0341177
+	0x8b02f6de	0x61e57507	0x7dec5942	0x20e67c7a
+	0x49c8d38a	0x6374e513	0xc4859401	0x3d83138f
+	0x90721624	0xcc979f52	0x43770516	0x4ce44048
+	0xfdcbbbba	0x195318d0	0xd4d67bbd	0xc3e3ca42
+	0xa9a993ef	0x04cf3ccf	0xdd53b6fa	0x670788bc
+	0x928dc8e3	0x459976f6	0x30afc373	0xaaa0421c
+	0x25014ae7	0xf15ea02c	0xa745d8e6	0xf1e8fc13
+	0x6e5d5330	0x2c6d628a	0x7a70b26c	0xe431d5c8
+	0x688f05f9	0x13af38cd	0xcead3e97	0x739092de
+	0xf947216b	0x9a7babcb	0x0ffb6763	0xa5aa9ae8
+	0xf555aec2	0x9524406e	0xe3c1aa92	0xddaeab00
+	0x9a8ed819	0x723cf554	0x510b9a8b	0xb0230e50
+	0x84e77af3	0x5ad3fbe9	0xda99502a	0xd87fad7c
+	0x90d91966	0x47afd789	0xc714548e	0x1bd44ae8
+	0xb6bbffb1	0xe212610f	0xa7be9aa5	0x2d7a51a7
+	0x58ad5cff	0xa69a29f2	0x56650abe	0x60ef1148
+	0x41c878ad	0x99e7cdd0	0xf942c629	0xda11df04
+	0x68a8d833	0x837dc701	0x21c1c80f	0xac3611c4
+	0x9fffc67a	0x46b75e05	0xa297896f	0x5b461329
+	0x72c55e08	0x9069d0f7	0x12e2bc4d	0x0087d348
+	0xcbf33420	0xb4daf92d	0x852a7cd8	0x640647eb
+	0xb08e6b2c	0x7f3b928d	0x4c01bc4d	0xfca759ea
+	0x7106955c	0xcf4a3778	0x6f55efab	0x07447abf
+	0x0cff9f74	0xd42ff16a	0xa03f4bbe	0x7dc27f82
+	0x752e070f	0x573515a9	0xe666b080	0x993fc9b3
+	0x0538fda9	0x5e4a60be	0x5cd19062	0x54dd5d8a
+	0x534e1037	0x75fb6cdd	0xa1e2e1cb	0xa5697b97
+	0x71e3eaac	0x78ebda0a	0x9909eff0	0xc8c9917c
+	0xe52fdd67	0x99f087cd	0x25fc8e89	0x901c2ec5
+	0xd35c94dd	0x2df236f6	0x1373f129	0xfa2de0f5
+	0x9243449b	0x665b513c	0xace1a572	0x9058a604
+	0xab37ecf8	0x22e84435	0x76a79cbe	0xd95909d8
+	0x1b517a23	0x3105603d	0xf6a11df5	0x137c2f63
+	0x444603cb	0x1d763abf	0xb71c6817	0x46b6a93d
+	0x46a43774	0x96db6af2	0xa14bac62	0x695d653e
+	0x99897538	0x6a5780ff	0x58415eb4	0xb907ecf9
+	0x3cb7d6ae	0x4541d829	0x482562ac	0xc4de34a8
+	0xbc2114e7	0xf54eacfb	0xc5b65bf6	0x7c7b3db6
+	0x6c885294	0x5193ac1a	0x7e80e8a8	0x255e7372
+	0x71935b44	0x70599b03	0x7240a62d	0xcc8ab48c
+	0x4eda8111	0x554286db	0x54166dc5	0x7c8029d1
+	0xf79fc09e	0x418c4256	0x045c82b8	0x2de3c54e
+	0x32dac6ec	0x2a5ddc75	0x69be6373	0x22bf468e
+	0xda52d5d1	0xb123f760	0x3c4d7690	0x5e00046a
+	0xd3102e82	0x15e20bce	0x3425b5ec	0x4b28fe48
+	0x6a942095	0x79199aec	0x566369e7	0x27821292
+	0x3dba6081	0xf72378e2	0x8e06822c	0x59669bcb
+	0xbc891709	0xc6af2d1b	0x909e57de	0x7ed2b997
+	0xa06ce64a	0x0b09c561	0x00a1a65f	0xa11faa7a
+	0xe7d1e118	0xfaeeb687	0xd05b4158	0x3b4c1135
+	0x18c1016f	0x556841af	0x09d960f5	0x88a98a6a
+	0x841d61e1	0x54c4a616	0x2ef515db	0xaa6f8670
+	0xa1f4b97d	0x54bd1997	0x95ded232	0x82257303
+	0x3f1565cc	0x65d285a2	0x2828f910	0x7a2290dd
+	0x7f0a8e0f	0x96470c2d	0x8efdb971	0x790fa536
+	0x90b9d2f4	0x615c9b2a	0x5ec4f5ce	0xc7489b5c
+	0x2ab45d94	0xf7bb05cb	0xec8e149f	0x94bb8b1c
+	0x1a6fb3ba	0x77d22379	0x82a8e9d2	0xce732d90
+	0x7108cffd	0x03ded7da	0x06e86199	0x8e2c02b0
+	0xcb2c0281	0x4c49ee4f	0x4b00e705	0xf828ee69
+	0xaab31af5	0x275ee2c0	0xec247123	0xfded371e
+	0x440d3f1d	0x201bd35b	0x76e6b8c1	0x7cccc245
+	0xdc0403c8	0x2c539a1b	0x80db718d	0xb738778f
+	0x489698c2	0x78928e8d	0x7f241403	0x83b5aa04
+	0x99d19efe	0xc52c6981	0xee504664	0xab09e1a3
+	0xf1d99af9	0x3987f801	0x6f666ccd	0x41ebab71
+	0x954645a2	0x7d037670	0x2dae35fa	0x82b60622
+	0x761d5e16	0x0a2aad58	0x9706d97b	0x1347e659
+	0x274d4c0a	0x74e8f15b	0x63129b5b	0x901ad757
+	0x8777b117	0x44e63d79	0x8bd3b480	0x07108a1d
+	0x02e03a7c	0x923e9811	0xaab4b369	0x51fe2c08
+	0xdc8456e3	0xfe49f3c4	0x2954e5eb	0xc54dee8d
+	0x0f80df98	0x63aaba57	0xe45d04bd	0xb15d4d92
+	0x2c8d9557	0xa04d0109	0x309ea608	0xcb0738c6
+	0xe9dacd06	0xee68f11d	0x693a4dbc	0xb11287d6
+	0x1a2e0e76	0x10fdf2aa	0x9c7ea896	0xfd6d6a64
+	0xb45df9bf	0xb55eb016	0xec82d40b	0x8d1ed23b
+	0xff38e0b7	0x9e330c13	0x7d537ac1	0x12cf35ac
+	0x6e6c90ee	0x2941504e	0x783385a9	0xb311af56
+	0xc08a6072	0xcd4f0ef2	0x3e076723	0xff3d56f9
+	0x161acea2	0x2eff759f	0xa506452c	0xa5a71901
+	0x658eaa33	0x6ff385d3	0x57b6eb6b	0x6d66aeff
+	0xacf53aed	0x74eb0676	0xb47ca784	0xfde6497a
+	0xaba4fe9b	0x29f52e2f	0xe785df06	0x1a21f65d
+	0xe339fc97	0xbff4f394	0x635c50a9	0xe7993eac
+	0x169f7568	0x9afbd085	0x3790fd86	0x89708c40
+	0xaf08378f	0x8cddfe3f	0x512e5e7b	0x2ccac57e
+	0x432d49a7	0x922fe1ac	0xd0f7416c	0x2cf9ea13
+	0x0fbad9e2	0xb9282867	0x1bcdd5f8	0xd50eb8c4
+	0x6ee9c0af	0x1a109a02	0xa233e0c1	0x77cd4e43
+	0xfd9876e7	0x81c98fd0	0x226a35bb	0xfb975e44
+	0xc5e290a9	0xd2f46341	0xcfb8d819	0x66a7274a
+	0x94e02e2b	0xdf3ca2bc	0x2f1dd3af	0x78462257
+	0x490f62c1	0x5ea11bd1	0x23d01a6c	0xffb348fa
+	0xda323bb3	0x17fce38d	0x8924bbc8	0x37c696ae
+	0xc35e964b	0x696ecb76	0x63e8f910	0xe1ba966a
+	0xb3b00602	0xf47e8114	0x2615a30b	0xbfaeabe2
+	0xf8d5020f	0x12781ee1	0xc0ab16d5	0x90020b18
+	0x66845dd4	0x6e66a277	0x8572a535	0xf7797d8c
+	0x348de75e	0x86f89a83	0x64848b5b	0xd7dca20e
+	0x57d60248	0xd8e4fe98	0x3a17c717	0x176435b5
+	0x52ab4735	0x6f9f35f5	0x615f63aa	0x48cc2329
+	0x5aa3897d	0xee9999bb	0x92a2bb36	0x8d40208f
+	0xc76f48e7	0xe648c445	0x782c5ae6	0xf83280d7
+	0x47f0d558	0x8deffa11	0x6524c319	0x9f60b5f2
+	0x9a6b7d9d	0x200e1d14	0x88d0c8a2	0x38506369
+	0xfd64aa87	0xecf06513	0x8a26932b	0x8b27c57f
+	0xcfbff561	0x4ee1d390	0xcb61a62a	0x490d373f
+	0xdc60f0ee	0x457fa88e	0x804c0d6c	0x71b52b54
+	0x9174b1a3	0xd63cc831	0xb65bbb2a	0xe47078b0
+	0xf526f67a	0xa722a8d7	0xb3f347ac	0x443ad7af
+	0xedb9147a	0x4393902a	0xbab30f17	0x2ac69afe
+	0x41fa55ff	0x88d1b1aa	0xa3dc36e3	0x9cbb4707
+	0xedff1826	0xfa80b980	0xd15aa9ba	0xcc5565df
+	0x71d1097a	0x1ded7d44	0x515af4f4	0x91f132a2
+	0x3833086b	0x0778bb7d	0xb50b443b	0xc42bbf30
+	0x0de19bda	0x7a2278d9	0x98452188	0x7f5e566c
+	0x428c699a	0xdd3082e5	0x57ffe68f	0x51faa68f
+	0x6e57e480	0x709147bc	0xdc526111	0x1d01f1fb
+	0x199410a3	0x75a82d1e	0x35e77131	0xbfb66d4d
+	0xd20cf839	0x17a00050	0x13020cd7	0x07738d81
+	0xc03ce801	0xa4336caf	0xc86ffe7a	0x5bcbc12e
+	0x9b7efdf4	0xa7b61193	0xe029ff62	0x29a61ff1
+	0x80b9e172	0xaa3e57bf	0xad1d11d2	0xce16c606
+	0xa92322da	0x16b79015	0xc4c6e8c0	0x27ece292
+	0x830bbab2	0x941a8f76	0x9d765045	0x9cd9aad9
+	0x5bdf199a	0x388659b8	0xc21a9647	0x3ca3e970
+	0xea948455	0x7e962f48	0x05aea56f	0x50933a6e
+	0x32f844ea	0x00925b86	0xe1e520b0	0xddff7542
+	0x9670ee54	0xe9ccf36d	0xfdcc295f	0xe328ac55
+	0x5b9a5638	0xf2caf15a	0x4f369aac	0x15d9eb8e
+	0xb57ba439	0x141f2467	0x02691964	0x4a27215e
+	0x049827da	0x1c06854e	0x9a1a7f56	0x227d90ad
+	0x585d7d0f	0x02120773	0xb76a4d3f	0xee4fd64f
+	0x7f94945a	0x0ec9beb0	0xfec85f9a	0x01d52eea
+	0x11269008	0x417decde	0xb66ff3c2	0x6ec6d1de
+	0x180cd9da	0x733ecaa1	0x9cd6385d	0xd9caa54c
+	0x4d8d26ff	0x85f4fdf7	0x48196b4f	0xcd1ceda8
+	0xb6c7c863	0x5c3671f0	0x10784425	0x0311bcb0
+	0x5e3f100d	0xd88aaa51	0x12e0eb23	0xc29a35ca
+	0xa1790cbf	0x3d9e3ca6	0x8b773d4a	0x0c8b4f02
+	0x79a0dd34	0xc8780264	0xadf4a473	0x9eb41db7
+	0x89f3aa34	0x10c7c008	0x08279d39	0xccbbffe6
+	0x306be328	0x52d44c5c	0x73cfae89	0xb5c82711
+	0x5d15bed7	0x3a4e311e	0xd9d7046c	0x9254b741
+	0x42018289	0x5fa67a0d	0x85b9a2ea	0x419b7b3c
+	0xe8821339	0x36f5a2e8	0xb447d566	0x553340e3
+	0x3132df32	0x48d0deab	0x0bb49158	0x75355135
+	0x3aa4c569	0x3cb9ac54	0xa73a9867	0x5e4899e4
+	0x2615816b	0x0604b573	0x9c070767	0xd26356e8
+	0x53933261	0xa6175afb	0x1632f9c3	0x2bcab1e7
+	0x37c57c51	0xe97811e3	0xb719360b	0x51ab2348
+	0x39aca372	0x5f0451f8	0x1068d924	0xf622d0d8
+	0x723b6015	0xd08141b6	0xc12c5c86	0x5d9c54c9
+	0xdc5f75de	0xbf48170a	0x5bf2c552	0x67c44ec1
+	0xe3cbe281	0xac7d823c	0xa0d9ed54	0x8d5e7191
+	0x119b69d1	0x81bc5077	0x70ab7567	0xe64e4de6
+	0xe8dad08f	0xb0885ce4	0x5d4df047	0x6a505a49
+	0xc90979d5	0xba8bcbb6	0x86357aaf	0xa35de476
+	0xcc238d23	0xee718054	0x95422094	0x92f40612
+	0xbce5dfc3	0xbfda5955	0xc1110667	0x33832607
+	0x923d8479	0x0819e80f	0x6ecb452c	0xaa408266
+	0x859e7e19	0xbf885a99	0x8ed80943	0x5717a581
+	0xc3f68967	0x72443b1b	0x4116229a	0xaa61a840
+	0x18f78912	0x032c14e5	0x5f3b85eb	0x28662050
+	0x0b10d6c9	0x3435eba6	0xc620a491	0x40ace7d3
+	0xa960f987	0xf17de397	0xcc385654	0x1c5ab258
+	0xd855b9a4	0x1a431ddb	0x39842fa4	0xfc639afe
+	0xf3ff2d7c	0x0bfd7666	0xdb189c2c	0x8c529267
+	0x8a4e8b6d	0x28b9c6e9	0xbe497951	0xcec75e71
+	0x96f3c1c2	0x72f16e15	0x946a9fed	0x12b84763
+	0xdf5a28c5	0xb5964d08	0x6135ecda	0xbe070220
+	0x3fcb729c	0xd29323d4	0x7759247b	0x5e5492a5
+	0xeac7b650	0x4c34a70c	0x5a97eedd	0x26bb2fed
+	0x7cc4b125	0xb89cd8da	0x6cf8e4b2	0xafefad13
+	0xc39a73d7	0xca78640c	0xe866bc2e	0x06e9ffe8
+	0xbeae327e	0x48be3d47	0x9b795815	0xb8f41c1c
+	0x26562469	0x26840fb6	0xe1b315b0	0x72c869b3
+	0x199c61cf	0xdb0be36f	0xe748b500	0x1580d2b9
+	0x6dfd3b43	0x5c02e6a7	0xf9720399	0x2c686d4f
+	0xabda5878	0x1652d37c	0x202fc972	0xae9dd35e
+	0xe805bc3f	0x24352d9e	0x1dfea6de	0xf7d81750
+	0x48b2ed34	0x8ac388e6	0x5283720d	0x09b4fb5a
+	0x1b94cb22	0x3bf2261c	0xa829a09f	0xa95e2122
+	0x16361e5a	0xd7554d4b	0xfc0d42ac	0x2e24554d
+	0xff51fb78	0x26ebfea0	0x58395138	0x143c8a55
+	0xc2293b7f	0xe9aa4b72	0xd1424a85	0xff9b8181
+	0xbb3eebaf	0x266de1fd	0x90db257e	0x7d35beb4
+	0xeaffac02	0xf79c88ff	0x3e14f387	0x0bc083b5
+	0xcbd395ab	0x1041b3b3	0x08ea7750	0x8728fc11
+	0xf61bd8b3	0x1f88ef7b	0x78b7e9b4	0x17b5c1f5
+	0x025e6c82	0x57f8d81e	0xde5866a8	0x7b7cba80
+	0x28221a45	0x96f83ebd	0x77c715ed	0xd3a4e160
+	0xd4be9d72	0xed659f39	0x7af0b3f6	0xb1d83c34
+	0x2876540e	0x0aa244e8	0x6af45032	0x52cc08ef
+	0x69b51eef	0x94367800	0x80adf5d4	0xcdf9cfc5
+	0x367d995e	0xa22aefd9	0x2faa28ea	0xf15648a2
+	0x8e397577	0x5e449c5a	0xb046cedb	0x17072ee4
+	0x9499b958	0xb230dbc1	0xffbdbc91	0xd8d60c85
+	0x0a139cb8	0x36e99cdf	0x4bdc3842	0x320fa3e6
+	0x075cfaa3	0x43240bd7	0xc8c6a0e3	0x43a14f16
+	0xd7d5d7fe	0xba846e6a	0x0579ab86	0xbf084d77
+	0xe8c4765d	0x8bd7ee60	0x8c4e7a16	0x2cad2f9c
+	0xd5bd8a08	0x63eefdd7	0x7528a1ef	0xb7512102
+	0xda25ea2c	0x4654e6ab	0x4cfc6989	0x84539f52
+	0x00f79862	0x65074163	0x45e2c2ee	0x28731aa6
+	0x7e9f6395	0xf8555873	0xd33bc4a7	0x8ecdbea6
+	0x49f0e7e1	0xa26ef54d	0xfb3e6779	0x35292faa
+	0x4ba9d214	0xead84a75	0x02cfdafa	0xbd1b47e7
+	0x36e2b9a0	0x98779f87	0xfc4ec502	0x71854294
+	0x5826c064	0xbfbbfaaf	0xa00db5c6	0xdea7f68e
+	0xa2d32e0f	0x46954ffd	0xeb66d2f9	0x35fb88c7
+	0xa2465311	0xf989f526	0xbdfa214d	0x95f0afd5
+	0x43a1041e	0x7740e027	0x9bb117fb	0xa63c0645
+	0x9db93447	0x5f250441	0x6537eac1	0x29f787fb
+	0x60f5a17c	0xec8f80e3	0x83c9165e	0x1d9ff136
+	0x8f43938d	0xf040a1d8	0x9e938a3a	0x48606674
+	0x932d15d5	0x383fcd65	0x4d7db303	0x5f633834
+	0x8a17761e	0x19528112	0x371b0358	0x1e34cfba
+	0x7046c689	0x438c7afa	0xad1bc6b0	0x9bb9e775
+	0x4d703091	0x04d9fc0d	0x494ebf77	0x610c1855
+	0x4b88816e	0x6c591a81	0x15597954	0x0fe13112
+	0xa949a9e5	0x4022dfd1	0x8eaf10e2	0xc436ad18
+	0x337254bf	0x0c44812d	0xc759ce3d	0x1da78e29
+	0xdba82250	0xe355c8df	0x6e614615	0x791713b6
+	0x247baf0c	0x9636e6b3	0x092382bc	0x196a100b
+	0xa0478de9	0xfd4f26b0	0xa5a1c49b	0x70d1ca23
+	0x6c54086c	0x47286307	0xa185c373	0xaec65e82
+	0x6ce77213	0x463b07d7	0x5420939d	0x3ee4fc03
+	0xc4cd11de	0x65d521b8	0x5304e894	0x8c707b4a
+	0x455ec718	0x10d082cf	0x20535bc1	0x0c3b1016
+	0x90cf26d0	0x25919378	0x671c24f7	0xeaa83d6c
+	0x9cbb1c64	0x42f1bbfd	0x43b5fba4	0xf4f6ef30
+	0xd2034c56	0x6f7d60a1	0xeeadc1f3	0x319af4d6
+	0x0c7e9098	0x0655d994	0x340a3544	0xb37d57bb
+	0x78d086b8	0x350297da	0xc8540081	0x7918666e
+	0x422de0b9	0xbed54d9b	0x03e32a80	0xf0d0c693
+	0x2fe80f16	0x5941f0db	0xa824c1e8	0xe46e7a57
+	0xfcfa4b53	0xb7d8ff24	0x3ab82e1e	0x0332c4fd
+	0x669fd568	0x64adabf1	0xd9c372b3	0x5ce6c28f
+	0xaa8a0e64	0xd4ced1ba	0xfa74c3f8	0x8a59e9fe
+	0x009f47ea	0xe7c2505e	0xad0470b9	0x92abdb75
+	0x9215812b	0x1fb86f54	0x57268f45	0xe91fc794
+	0x9bb1be94	0xc40daab9	0xb75cecd5	0x293c40c8
+	0xe507f284	0xb79f199a	0xa6a0cbdb	0x505cd140
+	0x04a6d213	0x84812279	0x09e5720e	0xf42e2fde
+	0x112178ca	0x1bfcbf80	0xf42738a3	0xd4e205fe
+	0x204c92ad	0xb916f4c3	0x0d7ce99a	0x90eef87f
+	0x924a4183	0x48d1978d	0xe6e16abd	0x5d9eb6aa
+	0xa7a0ee24	0x5aa5ab50	0x563ba4b3	0x7f2b08ce
+	0x641ec0be	0x955af0f3	0x4689d1ab	0x8625ae9a
+	0x11eda5e0	0xe5cbdb1e	0x010591c2	0x632b37eb
+	0xbc20a998	0x33b69747	0x414334ae	0x92b82687
+	0xdba623c3	0xb0d2d852	0xddf1511f	0xeca97e4f
+	0x8ebf5668	0xee509e06	0x8a9ceca2	0x7391233e
+	0x19e71554	0x02315bfd	0xa3fe5260	0x6e6b8370
+	0x1cfab468	0xf3cec4bc	0x11a6a066	0x129d2ead
+	0x79d0f2c1	0x6aab68d0	0xa243135c	0x5be05f22
+	0xba353845	0x7b96f7d8	0x2ba7c6c8	0x67b38557
+	0xedf2c1a9	0x9bc7531e	0xf72fbdda	0xcef2d3a8
+	0xa471a9d9	0x33a35e80	0xffe32136	0x974bf4e7
+	0x70c2d3be	0x95ab3510	0xd878a265	0x16548746
+	0xca45cfd5	0x2b22b0ae	0xf4f855b7	0x3f44b872
+	0xb66db844	0x680417dd	0x72188a88	0x27f830d0
+	0x09d64419	0x35989f77	0x33b7c1c1	0xf6e14634
+	0x3a0d712e	0x42b02a73	0x37592d52	0x34a2bf38
+	0x4434fa60	0xf1fa3c09	0x91ab7747	0x429124cf
+	0xa6b8eebf	0x5d2bbd8e	0x3dfd42c4	0xcd9ada39
+	0xbc3ecf68	0xf5b00eac	0x6e81fc62	0xf58437d7
+	0x09b3139f	0x27fc4f88	0x2d76418a	0xba8deabc
+	0x79557497	0xd322c58e	0x6669c5c0	0x97939ba1
+	0xe96972fa	0xe69d1ec9	0x816a4730	0x693cf703
+	0x1c350d84	0x328e1953	0xd29e402e	0xd4b68664
+	0x3070a143	0xf332f24a	0xf8f3519d	0x4829f694
+	0x15c92ec2	0x4c09709e	0xacad6a79	0x706821ed
+	0xffb8343f	0xa51a014b	0xec3bae13	0x2691fa26
+	0x50af71aa	0x9ccbbecb	0x25cacfab	0x4ff30e8b
+	0x827c619f	0x912c486a	0x8bddf9cb	0x1ca329c6
+	0x3c2494d4	0x4e3c0761	0x231246b5	0x1bd705f9
+	0x9b15013d	0x78fcda4d	0x42e62ef5	0xb7dcdac0
+	0xb27efdb9	0x09dfc5c3	0x5e6286f2	0xaeea106a
+	0x7869f2cd	0xe41b3015	0x8046e217	0xd2145f6a
+	0x45c88a59	0x892b2ea4	0xc8525432	0x1036d246
+	0x8e6045a6	0xf4f56dd2	0xb7bf140a	0x28cf6014
+	0x142b6c0d	0x27e31fe7	0x52ced865	0x4fdafb4a
+	0x68177bcf	0x2bdd5bdb	0x2b0fa0a6	0x0fcafe58
+	0xddbf88c7	0xde93d5b3	0x49e297a9	0x771049ab
+	0x3c2c3287	0x09134d1b	0x3764389a	0x3781cba4
+	0xed665fe8	0x9b055946	0xdc3ded39	0x6576e100
+	0x6826150c	0x68151773	0x9d1bee18	0x777ea1b7
+	0x4b09a72b	0x973120f9	0x92cc1baa	0xe610b576
+	0x7f08cb8b	0x12f9788f	0xa8387cab	0x38bfd391
+	0x6cb0b1b0	0x0b76d93d	0x73ebec97	0xf152a945
+	0xbd3d40c5	0x54362aa7	0x90e626af	0xa92dca8c
+	0x7865aa83	0x7defce09	0x2a173231	0xf1f322a3
+	0x6dcbe003	0xa82ec53f	0x609d2fba	0x7ed0daf8
+	0x21d72068	0xe50202d5	0x99324a58	0x5cd587b1
+	0x22de1ca5	0x8bbfc6f3	0xb4ef3242	0xb73aea5b
+	0x200b456c	0xa14a0da9	0x7ca58ac5	0x1a187705
+	0xd58896e9	0xa5bc10cd	0x3470d7ad	0x1247dc26
+	0x877172d9	0x3b1dc34b	0xb88494e1	0x39db9c8a
+	0xb802b911	0x20701030	0xea20b1c6	0xd28d8a3e
+	0xbd9d9f75	0xe371ca39	0xfe361a6f	0xedd62fb0
+	0xe76daec9	0xd600efb1	0x5f90ed95	0x5d6fb5bd
+	0xdb0ac4f4	0x8008a84e	0x845d50aa	0xe19c4754
+	0xe68847eb	0x8e5b5c61	0x994239fe	0x9834f61d
+	0x024a2077	0xc3fc21ab	0x6a45af08	0x35258359
+	0xf16b1eba	0xb3bc5423	0xc92d6b29	0x54e02b89
+	0xe6aa9df1	0x8a38aec0	0x031a68f9	0x1107d939
+	0xd7e0a74f	0x976c7d59	0x3fc7896b	0xa247b93c
+	0x58d2e8c5	0x6168e2ca	0x65ce7a4d	0x07eecbe9
+	0x064c67b2	0x06f57d98	0x2fb63ba1	0x7632e204
+	0xa6c9de98	0x8c382895	0xe74fc689	0x2a1def5e
+	0x31002493	0xc185e709	0xd18edc2d	0x7137deb8
+	0xabe21a4b	0xd17d019f	0x95274457	0x737b6860
+	0x9e0f6c6c	0x3fb11486	0xdf8897f2	0xf0d628ab
+	0xb290a618	0x3aab7d23	0x05677cf1	0x5056127c
+	0x14cfd11e	0xeb24053f	0x9654344e	0x6b1d8c8c
+	0x68cc5f04	0xbf17e79c	0x54cfe8d8	0x107f0a52
+	0x9bca389f	0x24252885	0xd758eef5	0xd898d717
+	0xeadf045e	0x165e25d7	0xa685595d	0xf637d696
+	0xebca236c	0x368079c3	0xfdafe821	0x89715066
+	0x6cd7aa80	0x31775690	0x0de0b4d8	0xae9fde9b
+	0xb425dead	0x41471330	0xcd4e58bd	0xf484f0b9
+	0xcbfbf813	0x1a25e5ee	0xe6456cea	0xc956ef7f
+	0x8ac948a2	0x775b1bfc	0x9739ab03	0x4f0b6411
+	0xb6b76e6b	0x9ec9343e	0x4f84c648	0xe1e66557
+	0x94f9fdec	0x386e4616	0x05c69bdb	0x93b0d440
+	0x9e5a3f61	0x635a80dd	0xdb6c23ba	0xc8d5f680
+	0x53767271	0xc0df8ca0	0x117efc6f	0x78758796
+	0xb3c77572	0x40e23c4e	0x82d7a503	0xaec195a8
+	0x53c1fe03	0xa131e6c9	0x2abdf9e1	0xa586fef5
+	0xb6d68103	0x34de4b9b	0xd4c02e0b	0xe5cda9cc
+	0x1a7e7917	0xb9b2f0f0	0xcabd1b03	0x18c17e71
+	0x07a37b1e	0xa83d6960	0x4dd66c28	0x32cc6b02
+	0x6eaca18d	0x7b166b05	0x095d85fb	0x938ec035
+	0x1a7e82ff	0x54bfb69e	0x6fbb6339	0xbeeaf829
+	0x8802a09c	0x604bdd0a	0x8191f84d	0x7da1e89c
+	0x64b9b0a5	0x6a5b6428	0x93eea3b9	0x21c433e8
+	0x8043427f	0x605e743a	0x9c81808f	0x7c976479
+	0xd7ef98c6	0x8b39cbee	0x89be6e39	0xd01dc72f
+	0xe6c09227	0xc8ecb3f2	0x399d3a41	0x4a91d1a8
+	0xf83eeda9	0xe1d4fe01	0x518ca766	0x0c3b1ce3
+	0x828f30cd	0xd3edf647	0xac126894	0xdd3f996c
+	0x601e5d4d	0xdd7856cd	0xce16a70a	0x99212df2
+	0x5e2b3d89	0xdb8d2ef6	0x70b79dd9	0x361a3a38
+	0xf6ec33e6	0x4ec9a451	0x1a280939	0x2d9d6d7f
+	0xfd4e1f43	0xfd5ffd39	0x83921d68	0x37db0d24
+	0x77c94204	0xf11165db	0x5cc1103a	0xab1d0669
+	0xd12ee8b4	0xa9ff0fdb	0xa494ff37	0x694f46c7
+	0xf64b5f33	0x520f1325	0x141eb18b	0xd29adbb7
+	0xa68fe24f	0x3d430328	0xedd40f99	0xdb5725f5
+	0xd3b0249b	0xf430037e	0xd105a0b1	0x95fe82ab
+	0x72dc63c8	0x8c1b45fc	0x96355d54	0x76e40b98
+	0x5f7baeed	0xba9b2590	0xbd64bbb4	0xf1541f6c
+	0x7ca49b5a	0x111f2640	0x4b86cb63	0xfe71a409
+	0x3ec03f6b	0xae4aa450	0x525163aa	0x1123ab5f
+	0xb385fc44	0x6901f207	0x2ff5773c	0xd55b0a75
+	0x6732e0e1	0x773f7dee	0xfe70aee9	0xd856780d
+	0xdee051e7	0xd950ffd9	0x4da637f7	0x13b4c650
+	0x2eff422d	0x0871c35c	0xb3e61664	0x1fb1abad
+	0x78e2ad46	0x44f63fe4	0x1e9e1d36	0xacf791a1
+	0x4fb51853	0xd0d5b2c3	0xf9728625	0x7160dab7
+	0xafe5d4b3	0x8bf7b7f0	0xd49a6ea5	0xab1694a1
+	0x1bc22cb3	0x3fcf2c26	0xf3237c26	0x442367ba
+	0x5dda5917	0x20031a86	0x1f1b8a1a	0x1477325a
+	0x546ee877	0xd347d71d	0xba45204b	0x750c5e9a
+	0xde39e049	0x4a544c72	0x627d76c3	0x13b7f044
+	0xe173e94a	0x64337a88	0x8e0548bd	0xfd0f0271
+	0x45721e1e	0xaecb5a8e	0xfb1f7bec	0x42449a14
+	0x620a6043	0x6310cdf1	0xb49eaae5	0x2bbf380c
+	0x26b7090b	0x4dc2da7e	0x3218693c	0xa6866d0f
+	0xcc998a27	0x57fa9a65	0x38a55c26	0x2d110f40
+	0x75fd7072	0xe147d675	0xb40adfba	0x3ea3896d
+	0xf289c62b	0xfad4fc7d	0xe5e10d26	0x1bd5f851
+	0x96f5e841	0x36a4e81e	0x670ba3f9	0x67aa030e
+	0x5577f4be	0x953b0bf3	0x307d00c6	0xbb9eabe1
+	0x871966cf	0xeb40c08d	0x74fd7e0c	0x49d4864e
+	0xf908f80f	0x1ea32c4a	0xd69e9ad0	0xaad2ad31
+	0xccf27a60	0x41ee5ebd	0xfe1dafcc	0x71cef55c
+	0x784168de	0xc4a0c447	0x315d99b3	0x0c2470f3
+	0x9002b535	0x29b95878	0x7a8a2ce4	0xb49967d5
+	0x37814d76	0x333b15fe	0x8a964085	0x3cd76bbb
+	0xfd1d1834	0xba0c3dfc	0x61d29379	0x8764238f
+	0x5aaf4d00	0x24c3bf1c	0x9c3c7488	0x94dd60f6
+	0xc844a0a1	0xef8b2bfc	0x0e8d1c17	0xd6d4d2d4
+	0xeb15153b	0x4f1233f6	0x8ed307ac	0x749fa7f8
+	0x387d4e80	0x80904eb7	0x53385377	0xf77ca9fc
+	0xbb037920	0x3cd8ef96	0x05ea8e91	0xdd0e0501
+	0x29779eac	0x55de6e6f	0x89874da9	0x56ad3af4
+	0xd8228766	0x9887bc22	0x213a0648	0x4db466af
+	0x550f82e4	0x964ab9e9	0x0cbcb32f	0xad872a85
+	0x97ef2fdd	0x8e78bb79	0x95be67ea	0x44c2d180
+	0x236b246a	0x3b253079	0x15c0dd93	0xef4b0368
+	0x30f36d65	0x506737dd	0xcc93b5e0	0xaf00bfff
+	0x1a79a0e6	0x4dad4900	0xe59a76c8	0xe1533fb5
+	0x75a4d69d	0x80744617	0xdc92e0f6	0x18e53a7d
+	0x9c1190f4	0x6411a55a	0x24137a70	0x3fad9fde
+	0xdfb6e346	0x7221d85c	0x6f6e2aa4	0x3ade33c8
+	0x9410407a	0x953aab54	0x8dde9999	0x7afd3ca3
+	0x1a92d29b	0xa78e9ace	0x95d15c64	0x95e9314a
+	0x0cf548cf	0x31bf5f8c	0x5cbae6b2	0x883b14a2
+	0xe21a9715	0xba500b0f	0x34ec849c	0x2ee98b5a
+	0xa3bdccfb	0x1022fa85	0xbf97abdc	0xf5bd1fe1
+	0x542d7143	0x896ed934	0xd3c42da1	0x13d90044
+	0x0573619d	0x305067bf	0x6f02b13f	0x0c516dc8
+	0x378699d9	0x838166f7	0x380ddd16	0x4c0e8bdb
+	0x61ba5a38	0xd5cf4a2b	0x0733d359	0x39468b9d
+	0x0d9e90c5	0xe8717681	0xe2d0a06a	0x8a436126
+	0xa5a31cea	0x03e217c7	0xe00398c3	0x1e36ee68
+	0x6bec78cb	0xd2de6eab	0x7d252266	0xbb4e8fb2
+	0x96c7fa6b	0x5758c3a7	0xe81f9a51	0x0337916f
+	0x4f31084b	0xa0dd1f6d	0x7da31b5d	0xbfbd5092
+	0x7d9f1e22	0xced1d5d3	0x8c397f51	0x68488587
+	0x2c89b78b	0x5c95b114	0x03a124b7	0xa9c22961
+	0xd05b4125	0x7987a218	0x9b33b81a	0x8dbece84
+	0xcd44692f	0xc2f7e2bc	0xee62478b	0x19a72768
+	0xf89a81c2	0xde94f042	0xe786cc87	0x1cf6dfe8
+	0x97357227	0x5d0b8ccd	0x210ded20	0xa3415b63
+	0x5a44c511	0xe00d553f	0x9106e41b	0xbb90e29c
+	0x4278fb00	0x13c4d245	0x0da5d28a	0x33bcd03f
+	0x622f99a2	0x5403b878	0xb755e5bf	0x93260477
+	0x57163c58	0xd5ad8ede	0x38597763	0x843ee2e7
+	0xf6bbfd8c	0xa80486d1	0x0aa9d04a	0xc3a21001
+	0x0988ea5f	0xa599060f	0x35ed1e4c	0x6861fb9d
+	0xdb49e460	0xeea1563c	0x630322fa	0x1db98607
+	0x061ce758	0x0ac92a43	0xb86273fa	0xc74cff34
+	0xf754e2f4	0x1d2a92f5	0x7345cab9	0x684f75ff
+	0xd68ac78d	0x7ac26120	0x2849d90a	0x9b9e68f1
+	0x61f0cf5c	0xa8ca277c	0x59b364c2	0x0c697e32
+	0x299f1644	0x390cc831	0x52f8fcc7	0x324a355a
+	0x245255d6	0x66571e06	0xff7cfc9f	0x9a1d968a
+	0x77d5b3bd	0x02118c12	0x886cb817	0x86863d76
+	0x6e9e8f89	0x16b32373	0x548c53ea	0x366dd932
+	0xc8bc0ed7	0xc55d2cb3	0x382a1401	0x0c343f0a
+	0xbb7022cd	0x775c425a	0xc942868c	0x491c03f1
+	0xe4e8bc37	0x57eb119b	0x161f1c40	0x78813d90
+	0x64ba5ad4	0x8c1a3687	0x6cc54f9c	0xe838a982
+	0xcb582447	0x946585f3	0x513fb0ca	0x1207f8f3
+	0x2c317225	0xd3144a73	0x937db9b9	0x1512f0fa
+	0x0144c46f	0x617ee635	0x6abb13d1	0xa5735cbf
+	0x28c41d41	0x4bf3cc5b	0xef15db89	0x93fd1b38
+	0x9429d27d	0xbe2c2385	0x8ad8bf36	0x47b18f4b
+	0x439baf8b	0x9f7b5c0c	0x403263e8	0x85a4a0ed
+	0x2ab72c87	0xe5962ae7	0xb2eb376e	0x023c83ea
+	0xe14729a5	0xef1f1f07	0xe8ad7262	0x4577adfe
+	0xb27407ff	0x299d5afd	0x2def24cf	0xb0fb321a
+	0x91a3ca39	0x549ffb9b	0x00c11c2f	0xd52620d2
+	0x483c3576	0x21b03393	0x6c19a634	0x60949c8e
+	0x2eb2bcb0	0x77b950fb	0xe5762d8e	0x491bfad9
+	0x6ecbc8ca	0x8f6665f1	0x1d76f0fa	0xe07c8ed7
+	0x93c70313	0xe3846992	0x84364566	0x642caf16
+	0x5ac66840	0xa8e4829c	0x1503a3f0	0xf0b7d2eb
+	0xac163682	0x4da9a902	0xcb03ab68	0x95395ba3
+	0x9c33a7cb	0xdeed8413	0x9d6b8d5c	0xb802340b
+	0x1ea7fd81	0x99313f3b	0x6b85ad1b	0xeb6ebef3
+	0x6e59a06b	0xfdc0fd57	0x0062b9e8	0xbf16842a
+	0x6cbd26a9	0x83444a69	0xa6f6c1f1	0x2cf5a079
+	0x1c3f8b9b	0x5c95aa6e	0xcdae53bd	0xdfce79db
+	0x3908fced	0x5e5d8e6d	0xbb15c722	0x1aaf5bd0
+	0xd978d536	0x91f112d0	0x3dde83fc	0x1abfd9dc
+	0xc42b4d93	0xb91530fd	0xe782c8b7	0xa78637ae
+	0x87827a53	0x332a694d	0x2fe77c47	0x4310fb1e
+	0xd9ce00ed	0x41458131	0x2db53f24	0x58e70ac0
+	0x48ae6ac7	0xf99f1548	0xb4547cf4	0x5d87e704
+	0x5f6481e6	0x4cc4b6d8	0x38e87cd7	0x9dc7790c
+	0x1a2458d3	0x1cb3d6dd	0x6b42515c	0xe4ad86f6
+	0x3854471f	0xe599520f	0x0499246e	0x9d76565c
+	0x75019717	0x5607a929	0xfcbae54a	0xc98593da
+	0x5d9c3101	0x80dd77cf	0xe8c8d2b7	0x40ce61b9
+	0x2090ba2c	0x487bd52e	0x2e4ed94c	0x3f2f0d11
+	0x7b66d583	0xd91b93db	0x7bb06fc3	0x80c38aa9
+	0xff6d96de	0x47806328	0x255fef60	0xefa54a24
+	0x74dc5c69	0x4b4db032	0xe15621c1	0x11c6b1c5
+	0x30e4067a	0x07d4b9a6	0xc466c81a	0x3d1baac3
+	0x9ccfb9d7	0x13d170e2	0x43ce03b0	0x6a010f61
+	0x53fca3f5	0x2c25ab82	0x09f729fc	0x9f706241
+	0x6a53b88a	0xec3b1246	0x6977fa94	0x02cfcfd4
+	0xe4a7c27d	0xe8e8ea3d	0xe845b11c	0x19862507
+	0x8acf6cd7	0x978be162	0xf01ded4d	0x7ff7e81e
+	0xe6f36ca6	0x22a0a9f6	0xcb178f7f	0xe2e15339
+	0x2f71a56f	0x75fd3f09	0x03c93002	0x26784382
+	0xf21aff81	0xe23413b4	0xdd1330df	0x2ecd91d4
+	0x7fd8d558	0x76878bfe	0x8b1dbba7	0x4383885d
+	0x003baaf5	0x299b274a	0x69e5c88b	0x55b2b499
+	0x522f83f3	0xa46c9774	0xb0212460	0x3085a0b4
+	0xdb229bc9	0x963f7774	0x47267dcb	0x1fa9ce5f
+	0x9433ccb5	0x2848a201	0x93019d81	0x421e703e
+	0xb121c267	0xcc2ad207	0x7f17e83a	0x596a8994
+	0x96f27104	0x89b2eae1	0xa544803e	0x5cb08340
+	0x2f720974	0x1350dcba	0x78ce7ae4	0x7d320399
+	0x3735c25a	0x0545b42e	0x3e4c7d54	0x6ed68501
+	0xc9b2f3f8	0x4e949c93	0x389f0e89	0x43ee36f3
+	0xb3c459f1	0x17513779	0x8229f712	0x215bde53
+	0x4b4b07a0	0x90ad9983	0xaeb3494f	0xf6f727ca
+	0xc28fabb6	0xddabcdab	0x01febf71	0xb244b8c2
+	0x0a455225	0x2901729a	0x0a7b35ca	0xf1b23e0c
+	0xa5f7c517	0x92f8e547	0x233ec55b	0x2bb537f0
+	0xeaf1b875	0x289e0104	0xda51c3d3	0xdfabadde
+	0x06a41866	0x4bf82f47	0x12060655	0x153525e2
+	0xb8cfef42	0xc307b295	0x778b6b82	0x036e40c8
+	0x6a4cdec0	0x750e09f6	0x0806ab28	0xf8dee912
+	0x45b906e8	0x08fb675d	0xae22c34a	0x2f54dc88
+	0xe98c7993	0xb76b6518	0xc70d5d8f	0x5987130a
+	0xd89d1cec	0x1744e957	0x22db0f57	0xc7501e9b
+	0xe9c9dc0b	0x1a8553a7	0xc15a4e4c	0x9e1840d5
+	0xeac1888a	0xba4c0a4b	0xdad84202	0x2d1b2d75
+	0xef06c127	0xd319a36c	0xd60b9d92	0xded20da2
+	0x00d23bdf	0x96b431fe	0x636914b8	0x494e02a4
+	0xc8c4ad31	0xe56bf0b2	0x28f07451	0xd86917f1
+	0xf7299383	0x977635a5	0x9026dc33	0x3e3b3b57
+	0x767118a5	0x04182a61	0xab5ee0ea	0x34f4cc0c
+	0xce072097	0x78d15c95	0x6735d38b	0xc23bab3a
+	0x7633847c	0xdd6d33fe	0xa1df1bc2	0x864ebeed
+	0xda785538	0xe87d3586	0x1b22b9ff	0x13160899
+	0x63bf5870	0x3e2955dd	0xf0ef68c7	0x51265578
+	0x63b70533	0xcfd7b598	0xeef8ed8d	0x760fa884
+	0x6375b455	0xa9c173e5	0xbee01756	0x6dd2f4a6
+	0x47ed59f1	0x7720dc3e	0x629c2a41	0x782040c2
+	0x7b86f562	0x7d5ff40b	0x17fb5fb0	0x26c157bf
+	0xbf0060e2	0xd9688952	0x98374c22	0x59ea8e69
+	0x252e4b81	0x123bf2e0	0x3d56230a	0x5188164e
+	0x93261c35	0xa564aa88	0x121bd9cd	0x5c16aec8
+	0x2fa246a9	0x15789e4d	0xa4bb3b72	0x5bafbec9
+	0xcd1b93fd	0xe2d0427b	0x56f5694e	0xf48953b2
+	0xc50fc819	0xe0af3ffa	0xc3e48bda	0xb80b874a
+	0xf9258e7f	0xad9f4362	0xfca90c4b	0x4884b4bf
+	0x4dee8a41	0x5c4d0196	0xc249d85c	0xbb5b9632
+	0x8b5635c4	0x2b637b4f	0xb840896a	0x4ca8646d
+	0x4696be9c	0x6630a968	0x5c5b4533	0x29eb7b7c
+	0x55f67376	0xa8dc36cd	0xb4f4474d	0xef64a1fb
+	0x1418534d	0xa76530c5	0xdcb4641b	0x8dfc7ae5
+	0x9afc17a6	0x44dab843	0x80f1f874	0x23b8762f
+	0x6cb7650f	0xf30d05cc	0x1f1fe1c0	0xba28476d
+	0x066fbc0d	0x97d7e010	0xb2d29434	0x4a42af7e
+	0xe0292aa5	0xfb450fe3	0x670c292c	0xdb35b707
+	0x8a981c83	0x30e2c3ac	0xe0e9c1b1	0xa8331796
+	0xcf5af247	0xc01b2f47	0xd25679ff	0xd5388c03
+	0x94227b44	0x95b55fa5	0x72fae874	0x4c760f50
+	0x3279c236	0x4b0e3026	0xf0ef3721	0x30ed3945
+	0x99f7e6e1	0xb985557e	0x6f5599cb	0x5c4d76d8
+	0x559f7096	0x183f53c7	0x7ddaabff	0x92ec2b04
+	0x5935371b	0xd968d5aa	0x4818a8f0	0x76d10b5b
+	0xcc0eddb8	0x86a730b6	0xaa95c741	0xdd404554
+	0xcc529f43	0x28567f77	0xe9dcde95	0xcfbfbf96
+	0x1f1253fe	0x60822fd3	0x2b0ed852	0x80e06c9b
+	0x5e8d23cf	0x577c0905	0x96069c6d	0x99c241c8
+	0xe5ae5dda	0x99539ee1	0x56abf146	0x917dfb3c
+	0xe84801fa	0x3d9b7e26	0x404c8082	0x3d704cfe
+	0xb6f7453d	0x1f509b7b	0x846b280d	0x8d20fa61
+	0x1990f9da	0x6dd00698	0xd0b108e0	0xfd767fe1
+	0xa6270bb9	0x1aeff8d4	0x7621ae8f	0x37f5f2a4
+	0x95bc6d03	0xf98e99fe	0x2b03c0d9	0x928b4e3b
+	0x3493fbbf	0xe5833647	0x42a92ec1	0x3ae9f16d
+	0x39089d52	0x8ebfa3e7	0xc05c7627	0x0b42a1ad
+	0x2773bd44	0x10f95843	0x53994b3b	0x0d3f8f05
+	0x4745c534	0x073c3264	0xe7d88425	0x12ce91fc
+	0xc45eed99	0xacda7b87	0x34819b15	0x44cbba73
+	0xd939e0cc	0xd02b4d35	0x2c2174ae	0xd8d25155
+	0x8af4ec1d	0xcbf70b9b	0x647e75a3	0xb5db7051
+	0x978b8f7a	0xb74404d2	0x1635f61b	0x8c1db8cc
+	0xd1414536	0x4caa27ad	0x58aec877	0x625683ae
+	0x076d11fd	0xe2bbbc48	0x75c3d352	0x25dc3bf9
+	0xbc0097b4	0xd8fa1b96	0xc9f01dbe	0x449393d2
+	0xda1893be	0x741f6c84	0x71538d10	0x38d42ac3
+	0x20f9e95f	0x3b6d6511	0x3547488d	0x9ec4e3a0
+	0xaa096298	0x7738626a	0x56a4a9c0	0x79a865c1
+	0x8a590afa	0x8d60b288	0xdb1e68ac	0xd4d1b724
+	0xdc734e47	0x167bbde8	0x43e2fdf9	0x847cd1c0
+	0x49034f8c	0xe9aff87e	0x8b743e83	0xb811b6cd
+	0x3546ec3e	0x856eb97c	0x41d4c579	0xad60d402
+	0x4f0ff4d6	0x9afbee57	0xe678e2e1	0x53a1d97d
+	0x22f885dc	0x642856fd	0x4a81b1a9	0x265dd2ba
+	0xef16b9ec	0x8eb61d21	0x4f484265	0xa668418b
+	0x5c28fe6a	0x895c076f	0x22294668	0xae1d0869
+	0x103b8f52	0x348edc9d	0x8094074f	0x00635bed
+	0x0e48d8b3	0x85a44cf4	0xc06e8cd2	0x96b3bb35
+	0xf80f6829	0x72070e75	0x45f139d0	0xae3c90ba
+	0x72eab68d	0x6dbaf724	0x7b1bb04d	0xeccdd042
+	0x6c55b042	0x5c2d3da9	0xe6883282	0x43085add
+	0xfed4e6d4	0xf6a4e8fa	0xd2609bb6	0xda70dfba
+	0x9e9d1d8d	0x4c4928c8	0x74ef7983	0x76c471e6
+	0x0a84f86b	0xc90a6f35	0xa6a3d84a	0x534312a3
+	0x021377f9	0x3e38177b	0xb7411fdf	0x47d09e78
+	0xbeedc504	0xc69f3e45	0xb9ad6ddf	0x67305b87
+	0x0eee93ad	0xeb42ec4a	0x2d792e40	0x36b38150
+	0x70553e78	0xc9faca6b	0x109523e8	0x92907948
+	0xb1bcea74	0xe949a024	0xa8416c81	0x535456c0
+	0x338ce49f	0x0fe855b3	0xcfe9d839	0x4a71671b
+	0x3b39dca4	0xe7f2f3b0	0x9670c765	0xd0b5582e
+	0x8af482af	0x4de8e13d	0xfc229249	0xa44568d7
+	0x9af47a09	0x56d992f5	0x6359b7aa	0x26179b95
+	0x681fcbc8	0xfa67fff3	0x253b2406	0x900be39e
+	0x1b918c3c	0x184cd65b	0x86dbb9a1	0x406555c0
+	0x9e71c8ce	0x08aafc7e	0xcf7bcca8	0xdbfee8b9
+	0xf6690e2f	0x67dc077c	0x971b0e18	0x93eabd5c
+	0x995e6579	0xe02aef8a	0x1dd8edf8	0x21e5a297
+	0xd8fbd7d1	0x6b778ea7	0x73818f7e	0xec9c60c5
+	0xbda7ec46	0x290f2b1b	0x9b9c1ff5	0xdbc720e0
+	0x4057d01c	0x583aaca8	0x42157273	0xd04cc9e7
+	0x17f006dc	0x7a0061c7	0x5092ebc6	0xaf39abc4
+	0xc83234b4	0x95766854	0x26beaf6b	0x7707852f
+	0x26b81ab3	0xf32e8f16	0x0fb218d3	0x92128d4e
+	0xa1c881e4	0xd99b97b9	0x32ddfdc4	0x788499e7
+	0xbd4da7e6	0x2134a49b	0x768f16f1	0x651e8ca4
+	0xde95ac3b	0xd63d22ce	0x2f7d34de	0x1f44aec0
+	0x22cf59ef	0xe845473d	0x249699b8	0xee698261
+	0xafdf6327	0x4b6c1eed	0xd55259f0	0xac3c90d3
+	0x4a5691b9	0xc2056b30	0x46726519	0x99097fe0
+	0x36204d12	0xae5f9c05	0x6146df29	0x2e3777e1
+	0xd96ff159	0xd6a25f3c	0xc39cf188	0xce8035c3
+	0x18915c69	0x6336aed8	0xba4ee698	0x14160c9c
+	0x5b3f9df0	0x76bae97e	0x42e4feaa	0x3977a8d0
+	0x37dc468f	0x04b24cc9	0x0bba0dcf	0xbfa6e345
+	0x44bdd1e8	0xc92547c6	0x6788da17	0x59e796b1
+	0xe2770fb4	0xd92b9ad4	0xd03d1b8b	0xd07b8c2e
+	0x8a543f84	0x05b0d456	0xfaed7eed	0x52d3fd0f
+	0xf9591f25	0xa00b2f73	0xf0107935	0x91e5b227
+	0x18850204	0x8dcfc51b	0xb6db0c07	0xf7116316
+	0x6a5dbd17	0x0d76e281	0x6005fac7	0x16d79045
+	0x31895a18	0x399371cf	0x536e420c	0xc49323af
+	0xd2b27dc7	0xe9a2c450	0xd1aacbd0	0x8e899397
+	0x67aa7c54	0x235619ff	0xec87a0b5	0x71be4483
+	0x06657d96	0x884020df	0xb8f2a975	0x12e2440e
+	0xd1966cb0	0xa7bfde0f	0xbb51bf79	0x8604d7ad
+	0x4f09e7a3	0x32e6bdf9	0xc964da28	0xa751b31a
+	0xdb35eee7	0x8c27e01a	0x26b538d4	0x0dd36be9
+	0x706170af	0x3b18f53b	0x9c7992d9	0x5ed9eaa4
+	0x47347d24	0x1ba8eb3a	0xa510b5b2	0x033d7153
+	0x7e91532d	0x4a81361c	0x288d3cdb	0x563dd47c
+	0xe7cd0eb7	0xfed9fb6c	0x4d4967a8	0x78f79653
+	0xf1325f1d	0xc165b27e	0x3b92daf4	0x3796065a
+	0x86eda8ed	0x8ac83880	0x4292f50f	0xd9afc9c1
+	0x9fb0b6c8	0x14eb0c0c	0x26cf5e56	0xcd98b055
+	0x1e40d460	0x872376a9	0xb5f0201e	0x90eb25f8
+	0xb4239ea3	0x146369b3	0x778889ae	0xc64a629e
+	0xd687e1e0	0x02663180	0xd37cfdf4	0xc3a99b90
+	0x936df670	0x343064b5	0x65faa530	0xfd161930
+	0x5d89793a	0x7cda7663	0x2a0078c3	0x9caff427
+	0x7c7eb5bf	0xa738ac55	0xa3ec5238	0x50d6b47e
+	0x6006e6be	0x9ce735cc	0x6f0b9435	0xefcd8529
+	0x5e49fa2d	0x3c56e74a	0xe5953695	0xe9435485
+	0x03350f9b	0x94fc5471	0xf8034f8e	0x1bfaf4cb
+	0xd99c75e1	0x8509d572	0x1d7e45a9	0x932770e9
+	0x5c830a84	0xdfb3fe3d	0x7e9d70e1	0x2780e800
+	0xe8408a90	0x704f3051	0x0f0756a5	0x10c5504f
+	0xa6c1ef11	0xeaddf020	0x7978f3a7	0xf6d772e1
+	0x0282f5fb	0x3da228bf	0x93f3edd3	0x1a3c0f7d
+	0x51845545	0xbae91b97	0xbae42cdd	0x497addad
+	0x7e7d072c	0xff1bcd9a	0x3329bf18	0x215c3451
+	0x5a1be9c0	0xc3db81f9	0x0583c1a0	0x134e3d8f
+	0x979b3eea	0x90f6eee1	0x84ce4681	0x573c40ea
+	0x5b93038d	0xa6a8548d	0xc6fa2186	0x5445b29d
+	0xecb121a0	0x0d1526da	0x43c6a7a2	0x5263513f
+	0x5d8cc589	0xef87c7a9	0x352c9ce3	0x7ee7e3dc
+	0x29d35302	0xebcc2816	0xa73da8db	0x8d6ad8b5
+	0xae2dd2ee	0xe3b008c9	0x560f1552	0xa049ef2e
+	0x86bd5c68	0xd28c5e3e	0x8589bc6c	0x19d2bbe1
+	0x94e340eb	0x8b1eebe3	0x4b57554d	0x0781be17
+	0x916fa9f5	0x603c886a	0x3762bb9d	0x6a88e776
+	0x070b02b2	0x02b511dc	0xcb0e2fd0	0x9f610d94
+	0x205c39b4	0x030e84bc	0x105d5847	0xd59ee0c2
+	0x4c000cdc	0x0414fef9	0xe7e5dba0	0x311b623a
+	0x9f8c96c8	0x61af8dcd	0x8d669491	0xb00d611a
+	0xd7fa1cc0	0x0c14260a	0x21e3145b	0x2575cab7
+	0x4c21c29c	0x5d35eaf4	0x888c262d	0xa370d1a2
+	0x81cc8ab6	0x09448c73	0xbcf40a87	0x76283841
+	0x9a2fac29	0x0b4c4aff	0x109cff31	0x289fee1f
+	0x942dfa79	0x221584e5	0x8918480a	0x3a3cf8c8
+	0x8870c5bf	0x79d8e3cc	0x7a5127c5	0xf50ef1ff
+	0xce14b7a4	0x815fdff0	0x984e925d	0x4e079d76
+	0xc48dc46f	0xffc63e16	0x3b72b70a	0x3d65ac7d
+	0x2d09b538	0xcdd74489	0x957827d7	0xbd28802a
+	0x7bd3a4c8	0x0323f7a4	0xd2e0fded	0x1180fffd
+	0x943e9101	0x39771bbd	0x3c9f2cfa	0xd43fc1be
+	0x159378e7	0x23dfd475	0x7366b82f	0xf70424ca
+	0x39252769	0x92e4e18d	0xbf985620	0xf0304d71
+	0x840aee3a	0x26396736	0xfa14e721	0x8496038f
+	0x3f75d64d	0x1a555d68	0x23fe7107	0xf91d6676
+	0x3e26d6d3	0x000d3b87	0x175a5caf	0x234c6cd2
+	0x1bc3abb1	0xeab04320	0x8654115d	0x7d3cd3b3
+	0x5156a35e	0x98e39a23	0x1c35f79c	0x516f34ae
+	0x455293e2	0xf44f7c95	0x61e01820	0x7d3edd82
+	0x9213352f	0x08966bce	0x473cbff7	0x9d139979
+	0x50b7f69f	0xf4264832	0x6e7fcd24	0x26756e8f
+	0xe62b221b	0xa2609ebe	0x9e88ba86	0x5505ae8b
+	0x7a096006	0x8a4811f3	0x103db4fe	0x40a48e38
+	0x8635607c	0xd2f38d22	0x297e3b49	0x6c90a21f
+	0x517de294	0x5295cd01	0x5077705e	0x8a21897b
+	0xa0ac1da0	0x221cddbc	0xa1e9653d	0x8caa99cc
+	0x1c8246ba	0xa50aeffc	0x3d5c71be	0xe2278aae
+	0xefca9113	0x214ecfb2	0x3e46acd0	0xcd029c62
+	0xccc5f799	0x13ba4d53	0x01a857b6	0xce918062
+	0xcc023172	0x70d9c96f	0xceac54cf	0xe39ea79e
+	0x411d6d63	0x0bd9756a	0x1ca60d69	0x1d09c516
+	0xddd3d36b	0x7fdd11a8	0x62a744ed	0x1c47b291
+	0xe1306284	0x3dffbdd0	0xf3243232	0xf1088297
+	0xa6f0d267	0xc1508ef1	0x1df5a29b	0xddc37fd2
+	0x1cf8ccfc	0xcffcaeea	0xc81be18f	0x2ccad7be
+	0xe95737e2	0xc67b0667	0x7382caa8	0x4a4a58cd
+	0x4247ddee	0xfaba56d3	0xde82cf7a	0x5301df88
+	0x6c57cdea	0xadd20675	0x23c86330	0x1e16d63c
+	0x02431073	0x23630e7e	0xb0e0e940	0x099ec0d1
+	0x6e7e854d	0x5e0bae04	0x7c650f85	0x190c0f6e
+	0x6d55b46c	0x97c0e70b	0xbab62ddf	0x8c52867c
+	0x5063c950	0xa38ff7af	0xbff35da2	0x4ed590fe
+	0x42b180db	0xe31c3a64	0xee1d74dd	0xff383c52
+	0xd3e7252e	0xcc1d120f	0x02a7cbae	0xcfefc2bd
+	0xa1abd1f8	0xbe007fd6	0xb1c208c7	0xae640518
+	0xc903dbc3	0xfe049c73	0x9c10ab77	0x00fb4dbf
+	0xba1fab03	0x94472765	0xfa6b1de0	0x45c382ba
+	0xf9e82dd1	0x6c97ffc1	0x05558b82	0xe3c461e5
+	0xfd0f4056	0x58b131b4	0xe0a1c278	0xe7b06c07
+	0x4aeebbdf	0xd304f26a	0x841897e3	0xab607818
+	0xf33dafb1	0xdcc5025b	0xaef62c8d	0x7c190674
+	0x5ccf46b9	0xac4d8f10	0x55aa5bfb	0xc4808316
+	0xf7bc5b55	0xe67fc285	0x91d33eee	0xe5e3b446
+	0xcf268c0c	0x00715de3	0x562415b9	0x75e45b2c
+	0x78cec40a	0xb6b452d8	0xe7d6c7e8	0x4d957481
+	0xd2d3ee79	0x3e31ba54	0x6045c572	0xb77d5c0c
+	0x92bdcfd2	0x0002d033	0xb866a4c5	0x95ee6deb
+	0x9934a3df	0xdc53496f	0x5bcff76b	0xa17ae9ef
+	0xa420b1ea	0x7cbef81c	0xca7cc86d	0xfad89413
+	0xf2e1fc25	0xccd1d762	0x43a52cc3	0xb8f96294
+	0xd05db9c9	0x760aed71	0x8b0d07c6	0x12e32551
+	0x04a17e2c	0x5559875d	0x145a9f9f	0xe8dd21cf
+	0xc81b8d9b	0x885bb782	0x93df24ed	0xdedbd4d5
+	0x8385507e	0x0e2e03a4	0x8b61a48f	0x452ca6c4
+	0x800c4bc5	0x3634577a	0x8a88f244	0x7c6952e6
+	0xba284820	0x55849ccf	0xfc706545	0x59aaf00c
+	0xe3554b17	0x4d56a632	0xb7d06485	0x8bdd62f5
+	0xe5f4ef61	0x16d2e19c	0xf851bea2	0x32322892
+	0xffb592b3	0xed4e8eaf	0x92974b49	0xb24d4db8
+	0x615c7f1a	0xfdc82a12	0x42364455	0xfc550c10
+	0xc8af5c1a	0x1ebede22	0x3a7c3fbc	0x5e573dc7
+	0x0382b39f	0x1f05874f	0xc03e404f	0x31fd13fb
+	0x2b11c5a3	0x162b8ae0	0xa6861122	0xe1b824d3
+	0x8bcfddbb	0x4dbecd7f	0xfdc25b5a	0xd16e15b1
+	0x55b5112f	0xf11217c2	0xd8139a4a	0x79d20da5
+	0x2c34b064	0x7cfe7771	0xd311f0aa	0x8dddcf75
+	0x3f493817	0x9b9b193e	0x2d5dfe6f	0x10f6042c
+	0xe7b2f72d	0xece22f9d	0xdf4fa708	0x533574f8
+	0x3341a9d4	0xd009d35f	0xc92922c1	0xeb24b1b1
+	0x26a9e0ab	0x288da2ec	0xc2ca2a7a	0xdad44c15
+	0x678390bb	0x306f8dcc	0xf3cc8f58	0x1f897400
+	0x0b08ebb6	0xc6999962	0x2d25cdb9	0xdb05ed8e
+	0x85e94793	0xde6cd4c1	0x70c01373	0x7e329df7
+	0x65a75cd9	0x700b19e1	0xf481c94d	0xa3946dda
+	0x32200c19	0x92baa53b	0x4fa53b3f	0xe71b63b7
+	0x8a74a1b0	0x490e4942	0xd256b661	0x7ceca619
+	0x181eee74	0x151effb6	0xaaa8753f	0xe9807163
+	0xd3ffdd84	0x9957bf49	0xe664e8a2	0xc25011a3
+	0x2d659ad7	0xf4b1414a	0xc4cca358	0x4d91d8b9
+	0x7530beda	0xb52bd177	0xaf8e90d2	0xd4ecbabb
+	0xfc9fef6a	0x1344e0bb	0x39bbb6c1	0x9f4c25b2
+	0x27c6efdb	0xb9b35e6f	0xae97797a	0xdd85fe41
+	0xa32fb35e	0x063e2404	0xdea1a837	0xafde0fab
+	0x55882c4e	0x38b4e391	0x437e49aa	0x2d46d297
+	0xb2bd8e6e	0xae36a3e6	0x1977f2da	0x46ba42ee
+	0x3f048c68	0x5f96ef92	0xea6eddd0	0x38539fde
+	0x3cad4c53	0xda123f1b	0x7c08143f	0x995b4425
+	0x91e7f202	0x13b3ffa2	0x6122c76d	0x27338748
+	0xbbf19aa8	0xab13342b	0x1df4d24d	0x95d8e41f
+	0xa85f001b	0x8b6617c5	0x8387c326	0xc63a9172
+	0x13d34c19	0x17d87d92	0xa9865c60	0xbae3f512
+	0x601f9f72	0x6dba49ef	0x4d62cd06	0x2cf42dc2
+	0x5ae11fd1	0x50a35fd7	0xd7795dc7	0x40310897
+	0x1a4bb21f	0x8c8113f5	0x55bcde16	0x2fa12370
+	0x5c6a1c19	0xc13b2571	0xd54d67c3	0x5d9674d2
+	0x5b28b05e	0x5dde9781	0x06a4e4fc	0x30b40878
+	0x171a86c8	0x641386e5	0x8e04cd61	0x632b95ba
+	0x9e802e0f	0x2b7a5305	0xeec8ea33	0xdde05bdc
+	0x454500a5	0xc279403d	0x1bfafe51	0x8032d0ea
+	0xa398b329	0xd6db01f5	0x1e4d454f	0x2f8c8fea
+	0x1bf7f3d9	0xead8f047	0x8b192c4c	0xc6939f19
+	0xe16366e7	0x107216b1	0xabd7780e	0xa24beece
+	0x4a04cfd4	0xe633886b	0x6acf4b15	0x85d74b92
+	0xde3358fe	0x765dfd80	0x3a14896d	0x9cc0fe2d
+	0x7550516a	0x05f7ae59	0xfe0b042b	0xe1d7c935
+	0x7a2e68b6	0x27d84d32	0x86f9f688	0xfc79d99c
+	0x9f18fa11	0x0eba09e1	0x5446dac1	0xc19da943
+	0xfd7aed7d	0xaca9b65d	0xc93f6976	0xbfeec780
+	0xb76d13b4	0xf872fd7c	0x31a67785	0x8f1869d1
+	0x5d95d16f	0x0eb43e3d	0x5ecccdba	0x39852805
+	0x92c43fbd	0x1c36738d	0xa08b382a	0x5da59286
+	0x059315ee	0xf3186365	0x5515e98a	0x23ef39aa
+	0x1dbd4089	0xbd7f88bc	0x1123394c	0x967440ae
+	0x97bec31e	0x4d7ad282	0xd6d8c9b1	0xa06c9673
+	0x96c73bf8	0xd58c200a	0xbabba6b4	0x1bef7dc8
+	0xba26cf24	0x92cb0af1	0x592f13fa	0xef4cdc58
+	0xd65e4cb7	0x48c4106d	0x1bdb7acb	0x65a4887b
+	0x1eb6f79b	0x7af8d180	0xfdc90059	0xefec18be
+	0x4203d88c	0xbf756ca8	0x6b11faaf	0x507607ff
+	0xb2af9e23	0xc74f2d6f	0x568e33ec	0x33bdb129
+	0x63748473	0x0a1bafe2	0xdd82c263	0x93e2fcba
+	0xe196494e	0x52005967	0x2be26f02	0x591332d0
+	0xc8ac5d46	0x17088f44	0xeca12983	0x3799c4fd
+	0x47f62095	0xeda06c65	0xf2cb3455	0x117e0c68
+	0x74fec213	0xc8a652ff	0x338e4840	0xf590dddc
+	0x0a3ee9fd	0x60e23d83	0xb44d23a6	0xe1920037
+	0xdce96701	0xfa34277b	0x9f9ab88b	0x8cfb722c
+	0x66431f59	0x4c37f1a4	0xfbfab598	0x95ee3437
+	0xd338f436	0x4cd9d0be	0xffad23d9	0xa3dd4d6f
+	0xfd4b53dd	0xdb5bc57a	0xddf2baa0	0xfdceccb1
+	0x12025458	0x2f29cfeb	0xebfc2d0a	0xb8d6509a
+	0xe7ce0731	0x0d8c538e	0x6454c057	0x8911157a
+	0xe99ae359	0xb7c960c9	0x1eab1fd6	0xda058037
+	0xa08e7b63	0x45870d45	0x0fb167a3	0xad25fed6
+	0x0844c4d8	0xfee41e4c	0xdd53b488	0x096c6c8f
+	0x5e6a34b7	0x5c24aafa	0x39df9116	0x101795ae
+	0x020add80	0xd644cd6d	0xfd1d7c12	0xc59116ed
+	0xe0b15366	0x90f56459	0xe035796f	0x698a88ed
+	0x78700bca	0x0d9fa980	0x6368b93f	0x61feac15
+	0xfd82b21f	0x8c694a54	0xc317fcf5	0xc2a18c95
+	0x2a3013ad	0xf83fef17	0x44467b9c	0x4047b2c4
+	0xdd920d54	0xd487e3f8	0xf0f92f79	0x13e48f43
+	0x9705bf94	0xfcbc9e3b	0x6d12d9b2	0x985ee1b9
+	0x2e24fa3c	0x46dd8662	0x1cc299dc	0xd21b40b2
+	0xeaeda8dd	0xbfbd1a40	0x8e1a0a8c	0x56a40b91
+	0xf95cece6	0x3a287e01	0x9e0907b9	0x3309b654
+	0x9a5079bb	0x36dbb78b	0xf87c0669	0x775ae8f6
+	0xd4332970	0x2a2a5975	0x28b0767a	0xc110195c
+	0xbf8f47a5	0xb7b9ec93	0x209d3c7d	0x553d8613
+	0x63559ade	0xf692bf89	0x4da236db	0x8d5d69c6
+	0x0991cefa	0x8461b5a7	0xf1d154b4	0xfdaab3bb
+	0x2959c2fd	0x1d5f7b82	0xe730df15	0x11011c88
+	0x016c4062	0xf8d7b303	0xa8ec06f1	0xdc49a98a
+	0xab73e277	0x6566e521	0x566feb86	0x29bb70ed
+	0xa163cef9	0x5e927c40	0x5acffef7	0xefec277d
+	0x07d1c031	0x63efda30	0x52aa8e08	0x3826c55f
+	0xf09909aa	0xdabc930a	0x8266463e	0x3b83fcf8
+	0xcc37dfb9	0x21d64edb	0x9c3b4dfa	0x39fce836
+	0xbf169f0a	0x034979bd	0xcfb36d81	0x381c7551
+	0x28e54be1	0xa8101c44	0x0179404e	0x0ea377f3
+	0x33b8f2e9	0xb7169617	0x9cd2eb38	0x767db03d
+	0xaf40bf7e	0x0ea102a9	0x7a5efc59	0xf2c4b32c
+	0x1547d8bf	0x996d0646	0x77aa0e71	0x3955d7bb
+	0xdd2b7fa2	0x08d5f569	0xda2425f2	0xd87cb778
+	0xa846b6ce	0x047c29d1	0x038a55a5	0x3dfac25b
+	0x3edb60ee	0xbbecb7d1	0x45095acd	0x3f135521
+	0x2f01df8d	0xc1e41e56	0x454d7265	0x85a2d14d
+	0xa233c32d	0x18413260	0xda873753	0x3084d995
+	0x3bde0b3a	0x96523ec2	0xdf924ff3	0xb00ec764
+	0xda13676d	0x58bc42bf	0x2829a06f	0x2efba826
+	0x00ffe1ad	0xd6b5cc2a	0xf53ff94d	0xcd685cb6
+	0xf9bed7db	0x0b4ddd1a	0xe8a448de	0xc495727c
+	0x68cf6052	0x11cf0218	0xb63d6908	0x24c1b0e2
+	0x75eaf5c5	0x7114c81d	0xd596913c	0xf8310f81
+	0xa1dac3da	0x50c235a5	0xd535df89	0x835ccdf1
+	0x2f0a0505	0xd6d76b3b	0x3a203ed4	0xded4a58f
+	0x7b7dadea	0x9103eae9	0x4ee7f33b	0xe785e1ce
+	0x5e0633f6	0x70beb9c8	0x145d7ea5	0x9e7891a8
+	0x2845916e	0x1a61b6fc	0xd90c9265	0xf915e61d
+	0xfcd5c8ce	0xa0f12501	0x6e2dccb1	0x388ecc82
+	0x9519ce00	0xbdefe148	0x1392dec2	0x58e97609
+	0x5bae1b18	0x69929d43	0xc2346b30	0xfa4a2e99
+	0x9ab7eb3e	0x3eb11055	0xd16d2ddf	0x7b70f2c5
+	0x55187d91	0x7d2c7520	0x0e69f3ab	0x5e2509c5
+	0x728e44a2	0xd7a612be	0xbabc885b	0x93016436
+	0x60258064	0x4bc489ff	0xff9de32a	0x98dbc15e
+	0x48eac41f	0xf753d2c6	0x3661eeb3	0xdaab4d1c
+	0x5d81d91a	0x8662b646	0x5952bdc3	0xe38c69e0
+	0xc8537ec1	0x6a9492b9	0x02452afe	0x8f06dd3c
+	0x565a0d06	0x67da4191	0xdc48099e	0xb777bb54
+	0x5d857773	0xfd4ad163	0xd49a6672	0xb2ef80f1
+	0xc6a96c41	0xa6e8db1c	0x6700f1a3	0x683d6730
+	0xa4580400	0x5feb5d8c	0x72dc9b68	0xf40dfab9
+	0x750400de	0x7cc468b3	0xa3e36eb6	0x5e029d98
+	0xd4632a18	0x527a7d4c	0x62bf1ab9	0x7c3a71b1
+	0xefe9c651	0x5e812162	0xaf0bf476	0xb11b216e
+	0xcac9f3db	0x9f068787	0xa4230a9b	0xc4ee7735
+	0x091099b9	0xe0c89a2e	0x844b5e78	0x9a208c07
+	0x86f48fe6	0x1f2b8bac	0xc8873d41	0x7380cce6
+	0x1f80f956	0xe9ca8d9e	0x4baddaf9	0x2687537f
+	0x9d4e2f19	0x8a634fdc	0xa5c1c324	0x258f1e18
+	0x4399e859	0xe43a7e7c	0xd572faca	0x914bcf39
+	0xf2dd53f1	0xde126168	0xa4940acb	0xc8edb772
+	0x4a089deb	0xe9308ae3	0xad97a55f	0x8853ae8c
+	0x976d4337	0x919b885a	0x155ac377	0x5ffcdb2c
+	0xec335ab0	0x4118c00d	0x10f6d291	0x89adb1bb
+	0xf514c024	0x2d6513dc	0x8b8743e2	0xff2fa127
+	0xf4be8a38	0xb54de614	0xaf2688c9	0xd50dc4ac
+	0xdf71a920	0x7556deb6	0x2b0a08f4	0xeb47487d
+	0xae9244df	0xf81216e3	0x42699e0b	0x953ce6a5
+	0xa3fcb558	0x76547905	0x95086ca7	0xf29f303e
+	0x027975ae	0x313b5bbd	0xa8f8d662	0xf32c6538
+	0xa4c44558	0xe626d8aa	0xe7b73b5e	0x21957cb2
+	0x4f830a34	0x713f6e71	0x52241020	0x4f152bfa
+	0x1efe2a53	0xf45c268c	0x569e09f3	0x4878ef31
+	0x77198eae	0x0057bfe0	0x71541c01	0x1eff510d
+	0x34d84a6d	0x43787da0	0xdc4bbc4c	0x9c5656a5
+	0x067a0908	0x806d8a21	0xff3cf1eb	0xbeb9435d
+	0x5dd154a3	0xd4cf6735	0x376e86cb	0x114cbc28
+	0x4e26f648	0x9e15b6a0	0x57e5ce4c	0xb9a084f1
+	0xd9a0385e	0x4cd29cd6	0x80287ea5	0x12609d95
+	0xc705541c	0x0b9cd2a2	0x98af1097	0x0e0ccec3
+	0xdbfb6216	0x370549c6	0xe36cd94b	0x7a71d4b0
+	0x09e51ffc	0xd83c2c6d	0x32e63037	0x87b7c18c
+	0xfa74b115	0x3045a93c	0x146ecc07	0x329bf17f
+	0xcc50fa94	0x6ae5027a	0x9ec70396	0x9b8f3ecc
+	0x565335b9	0xce0a5dfa	0x2b41d3cc	0x6f20e5d8
+	0xd1ab9ee0	0xd5f04207	0x4296927a	0xe5c629e0
+	0xf7b776cd	0xdec98eae	0xff1fe0ff	0x2fe2e3f0
+	0x9ffe3481	0x3f649922	0xfd960e99	0x88ffd8e4
+	0x417db733	0xb233f1e7	0x9dbb56ae	0x271646bd
+	0x8f6a6a2d	0xdf70cbff	0x64ec8381	0xfe97aca2
+	0x48a8099f	0xbe96d90e	0xd32416b6	0x0136efca
+	0x71676cca	0x9d6ba000	0x5c040306	0x0ea08882
+	0xd41a8ef9	0x30dbe3f9	0x73e822db	0xd791f185
+	0xacbe39d6	0x4ea7b8b2	0xde3092f1	0xa1b98671
+	0x83507aeb	0x3be451ba	0x57c7c672	0x773399f7
+	0x9cef2b76	0xaba00924	0x4a333a0d	0x59bef9b7
+	0x77b7ae3f	0x7cbc022b	0x99825bdc	0x6b434156
+	0xbe86d9d7	0xdfd89b81	0x615301f0	0x645c2004
+	0x81a0d706	0xfa5fc5b3	0x3ddea2ac	0xf8b77c77
+	0xdbb9afbf	0xb2966f32	0xa9ef0668	0xf80a9fd0
+	0x46b678fc	0xa5e4783a	0x585cd0cf	0x8dd017a3
+	0x5df45495	0x0f96a151	0xfbcc6c28	0xbbb01982
+	0xc60b9014	0x0da33bd7	0x3f8c9e48	0x4bcad7ee
+	0x8f29bea0	0x434bd06d	0x2d40ee8b	0xf674fefb
+	0x7d13c2dc	0x8b102d90	0x25ee47b1	0xee42f973
+	0x6abff5c0	0x90337ecd	0x650b75fe	0x57592038
+	0x9b8172de	0xa818a53a	0xc9ba76c0	0x84f6302c
+	0xbc2dacbc	0xa33c4350	0x05ffcbf9	0x46178e9a
+	0xb8802aa7	0xb77cca54	0xc4acf832	0x6329da72
+	0x9e0bc1d4	0x4dbad7cc	0xcc1435a6	0xf62df35d
+	0x23bf4f9d	0x5655c820	0x8f362a62	0xbe3c7c4a
+	0x7db11ca2	0x3a5c8fd5	0x04b9598a	0x67a21cf5
+	0xfddeb57a	0xcba92e27	0x85dd2a2e	0x410c03f2
+	0x37d01792	0x52fea426	0x6bfdf31e	0x63cb798c
+	0x6fd48d31	0xac08449f	0x76fd6be5	0x59b6f6fa
+	0x7d7bb61c	0x8a921346	0x5fa14930	0xd00ef222
+	0xbb5d6d04	0x7e4542be	0x56532853	0x6074a287
+	0x21f8b4fe	0xb91b2398	0x72287a1a	0x4edce9fb
+	0x5418c044	0x3b90ef86	0x38620751	0x9fed1072
+	0xc8d64b1d	0x397a4379	0xc0534beb	0x806c80e5
+	0x309b7d0b	0x0ffe292c	0xefb53f50	0x3cd38191
+	0xcc5a6cd9	0x1dca92dd	0x3f7af05f	0x796e20ab
+	0x1715da6e	0x5bb48b9d	0x8a06a2fe	0xe06fd98b
+	0xd7a429ed	0xea2c8ec4	0xb365f13f	0xa803131c
+	0x1ebc16db	0x1e85595e	0xa370b578	0xd3036dba
+	0x0d97668f	0x6ebf2e28	0xde53e48c	0xef8d9c9c
+	0x1697a020	0x65362f2f	0xab0b2447	0xf06ac16b
+	0x68cd2cc6	0x8dee764e	0x41c7f21b	0x89a7d310
+	0x171bfbeb	0x93233fc8	0x4b72e18b	0xef38bda3
+	0xe5a9b23b	0x1f4f7ea1	0xeed90665	0x2f8899ad
+	0xcf933790	0x878ec306	0x59c63347	0x73da1ec8
+	0xcd703bfb	0xdba0f460	0x412023f7	0xf5ac4823
+	0xfd3d5203	0x34b71f30	0x280e7077	0xfab4283f
+	0xb666f47f	0xd5410131	0x79f36bff	0xa94a4d26
+	0x100c5a04	0x4f588fd2	0x6630ad71	0x26a5946e
+	0x7f690901	0x82d8e4e4	0x99bfeafd	0x687f3ab0
+	0x6c99abba	0x988bc7a7	0x23c19c3a	0xae9a5d40
+	0xd0545a03	0x4b9eda6b	0xfc01747e	0x6c02950c
+	0x099d4e73	0x32bc7385	0x299c25a6	0xe8a3095c
+	0x3acaea23	0x893b3b01	0x7ce8a326	0xa4ebeb1a
+	0x64509259	0xd9eebbb8	0xa88fd8b4	0x7b92ed79
+	0xb41eb189	0x50bebf8c	0x9763eca9	0x861359cf
+	0xeb0716f4	0x34d23cee	0xdb7a4372	0x193cb7cc
+	0x7ea76d3e	0xd26c0d17	0x080753fe	0xdacb9dde
+	0xbcda60b5	0x64f756ae	0xf19ded12	0x69775827
+	0x9d581039	0x444e92ea	0xaf3fe40f	0x49c17460
+	0x62b3f21e	0x2e20a0dc	0x9d1e7d46	0x66a6a703
+	0x45c8ada5	0x6ad9e74e	0xa0ab96c8	0xa0c1ddfb
+	0x9ed0fd66	0x659c874a	0xf3ece1d8	0x1b0302d5
+	0xa4ab0a5b	0x78e4ad92	0xef11406b	0x3a02e6ec
+	0xf733a593	0xea7a3997	0x0f4930b3	0x18ca72cd
+	0x8e312e70	0x345fc898	0xb38aedd0	0xbc7adf8e
+	0x580b9f57	0x7dd53eb6	0x1f0e7300	0x5524f2fb
+	0x25280378	0x45dddae7	0x2f1b38fd	0xd9c448f0
+	0x4c561bcc	0x72d2320e	0x23de442b	0x7f5b9046
+	0xfdd80059	0xe9ca2598	0x5527ef4e	0xc834b9bd
+	0x1dbc357d	0x2656f81d	0xa9549423	0x338e5639
+	0xc19706ac	0x0ca6028d	0x86ef336d	0x6c822807
+	0xe40fb194	0x4de2320b	0xb9eef8be	0x33655612
+	0xa2cd1803	0x480ce7cd	0x51c19215	0x68f2c282
+	0xdb097679	0x0f694612	0x03d9bf77	0x3f1e04d9
+	0x3e613825	0xe5833060	0x729a811a	0x2a4ae763
+	0x05cd1497	0x8fbe47ba	0x04e83aa2	0x505717f0
+	0xbf0b978e	0xd378cc7b	0xeee38551	0x5092a751
+	0x52dd9f6e	0xd59ee759	0x4528f839	0x2003c88b
+	0x10b9afa8	0x0bb880c6	0x5bbdc70d	0xe9b5e179
+	0x0941507e	0xee252bf9	0xea772da9	0xf099310f
+	0xf6fabcb0	0xf038e392	0xac061a3f	0xd51656f1
+	0x514935bc	0x3fd22f7d	0x254b06a8	0xff2877f5
+	0xd848996d	0xef66e1a9	0xf79ed46c	0x2196e979
+	0x522b472d	0xcfedf066	0x9a768bda	0xd48632f4
+	0x4773ccbf	0xec4435f4	0x46f7be05	0x2bc5d794
+	0x03f31d81	0xfb7103cf	0x3dedb78b	0x9fc36042
+	0x2280e88e	0x4d250150	0x8fa7e54d	0x5cdaa33f
+	0x4b52bf85	0xb32a714f	0xce7a9013	0xed0fcb60
+	0x8718e79b	0x74e26a9e	0x1fb725a0	0x6e8a63af
+	0x332eb12a	0x36c32a05	0xcc456676	0x95dc04d1
+	0x77f85170	0x304a6906	0x8612e7d3	0xde994cd9
+	0x0b285e4a	0xe60b523c	0xabbfd040	0x374c76b0
+	0x5e40f411	0xe93f8f9d	0xd55059cd	0x2c40bb2c
+	0x1d0bc87b	0xf258dca2	0xb66c26da	0xead5a854
+	0xedf1ab2c	0x2392bf2f	0x3480ebc9	0xf5f1dfab
+	0x4336fc17	0x89bc6f5e	0xf794b812	0x12300220
+	0x8cf10ef0	0x55d78885	0x5c0cbf25	0x1915799b
+	0x52b6d7e1	0x310bdab5	0x07edfb80	0x243abead
+	0xdcf99a9b	0xa9c5148a	0x12d2c0c2	0xc1478005
+	0xd27224d0	0x3bceb6d7	0x9e033549	0xe132349b
+	0xdf5a4ccf	0x3e777127	0x8a2233fa	0x3758bb10
+	0x85ccb13e	0x7b8155b7	0x85bf5cb4	0x26a7a7b0
+	0xcc84ba7a	0xcc0285d7	0xf416da1f	0xffac6701
+	0x95ac6f58	0x3cb13304	0x407406d7	0x14d99a71
+	0x1cc0fdba	0x298468d1	0xbea241a6	0x126fdf79
+	0x8875ee25	0x9f6226ba	0x64678e21	0x2509f53c
+	0xffaf9851	0xe812f808	0x8ba956e0	0xf457db00
+	0x518fe465	0xf160a88c	0xe448bdce	0x930c070c
+	0x3c5c081e	0xca3ae614	0xa831d664	0xf7c4368c
+	0x08fe2afe	0x1adf7b81	0x17f6d3f3	0xb2fee3ec
+	0x9c28bbc0	0x79542475	0x286ef63f	0x4359beff
+	0x7e883a76	0x197d355f	0x63b49b54	0x863a746a
+	0xbb27e270	0xd341236d	0x12f44393	0xb466e0a4
+	0x1d76fb92	0xfa41d1b2	0x1d8c4a73	0xb2d9dd7d
+	0x86b63425	0x425d7223	0x15de6bf6	0x925a9489
+	0x2bb11f48	0xf6dbba84	0xb7a7d5ef	0x20962b37
+	0x02d0d4ef	0x8cdb97c2	0xdca7fee5	0x149444e0
+	0xec103a29	0x7f51f8bd	0x4d5c6758	0x9eb4446d
+	0x6ebaf66c	0x02325a25	0x8bdb761a	0x650dd77a
+	0x1c8e75bd	0x0837afc5	0x6472dfe2	0x3830220c
+	0xf317f6a3	0x8554a846	0x342a150c	0xe4ace9d1
+	0x4ff2e1b2	0xa4d50080	0x95d1c85b	0xc5dfc5a6
+	0x0766a97a	0x71b2cec1	0x8043996e	0x620fb5ac
+	0x35cc0e1e	0x9e0be88b	0x1bd723fb	0xdbe05966
+	0x8d7928b2	0x97561525	0x857d12a9	0xa84475bd
+	0x94a6acd0	0xda298885	0x9a039423	0xae6cac16
+	0x7a76851f	0x70277277	0x50a53b6e	0xa9100daa
+	0x4090b164	0xc5dd2129	0x02475e30	0x1cc65bae
+	0x85790253	0x5eea73b3	0x1b4343a3	0x13ece90f
+	0x470ac2b9	0xf61841e3	0xef6655d7	0x1992dfdc
+	0x5f5112ab	0xb4dd51a3	0xc5e87b31	0xb65f3d2d
+	0x070e9bbf	0x05ffd055	0xf609c346	0x65fbba75
+	0xc9108013	0x7bfaa5db	0x49dd3066	0xcd8c524a
+	0x99d8fcbe	0xfecb842e	0x739feb70	0x79c75772
+	0xe4cd3f68	0x1b062319	0xd3360038	0x7658335a
+	0xabee5b58	0x466809ce	0xde21f2cc	0xa197a1f5
+	0x92287d5a	0x21a75ff8	0x095e0058	0xa38bf1a9
+	0x57ba37ab	0x4747ff64	0x4a12b779	0xc12ddd5f
+	0xe7a19a45	0x1b927ca7	0x88144955	0xd35ef843
+	0xd068337d	0x5632330b	0x65a34c89	0x775e9caf
+	0x78c20a0f	0xff1c2f5c	0xdbdd9887	0x7f48e40d
+	0x54ee1f8b	0x65d42710	0x5fc0d0e7	0x15fce5dc
+	0x318b5abe	0x7860c719	0x6f63f527	0x95bc6f90
+	0x58c37cc6	0x4334f068	0x3f51dc09	0x851a2b85
+	0xe82b9da0	0x7d265c4c	0xfd8ebab1	0x83d54210
+	0x3f74b74a	0x7ee0c3ca	0x61a3a8db	0xb0b704ef
+	0x477cd2cd	0x2a796236	0xfc383efa	0xa6ed3b51
+	0x24791edf	0x80562e6f	0x1273a1f5	0xc74e5921
+	0x3779b3e6	0x7a3f32f0	0x49e60afd	0xa5d0fe64
+	0x8ef054f6	0xef5be639	0xf692e588	0x54044e06
+	0x3f27c315	0x55bb8f4a	0x96554540	0x550e1a56
+	0xace36033	0xff19182f	0x86a5bd4c	0x85da4168
+	0x986a002c	0xd7857384	0x76af389e	0x68ad939e
+	0x2b70c6f2	0x449ee188	0x92c907ea	0xbf2764e4
+	0x3bb587fe	0x783d282c	0x45534e20	0x10658cc2
+	0x4de7c28b	0x0a1c55a5	0x2bacd66b	0xf0a46ce6
+	0xb7ec3bbd	0x1f5e80a8	0xdd058c42	0x7332d51d
+	0x3cef2355	0xa3b65cb8	0x1ee63aca	0x9f957ac5
+	0x0281c9dd	0xd26aeb78	0x58cbb21d	0xac33a189
+	0x7ee718e5	0xee82aae0	0x02a7047d	0x97ab6b72
+	0x525cedb4	0xe2349594	0xd5ae4bf8	0xa339d3c8
+	0x067f1b36	0xf64bdbf3	0xe9a3ddc6	0xa4c5c24c
+	0x6e353ab5	0x0738144f	0x47a2447f	0x9e68b3ce
+	0x78e80afa	0xf940582b	0xb89ec8c9	0x2c6d309d
+	0xd61b1cfe	0x9636289a	0x6117fba6	0xc79f8986
+	0xaf1541bb	0x9c0ac0e6	0x8387473d	0xb9fafa5f
+	0x6a579a20	0xd3f7bde5	0x5cafa55c	0xc4b019eb
+	0xd5898c2e	0x773a5c0c	0xb0094e24	0x8911c4e3
+	0x5c1617aa	0xea4d1e5a	0x4ca917bb	0x616d3d63
+	0xe78a22a2	0xdf438e2f	0x2a95a02f	0x7bab22b1
+	0x7e10fe4b	0x419950b2	0x416176a3	0x87eb366c
+	0xdab47c2c	0xf1ca38ed	0xf3e0a547	0x7a17a658
+	0x302b56f9	0x49c64bd4	0x73411255	0xeced949e
+	0x7b34d21a	0xfb29e71d	0x73833d01	0x03394245
+	0x29976efb	0x43283d82	0xe99524fe	0x86cd9b90
+	0x53908651	0x4bc2181d	0x9e5edd8b	0xa422354c
+	0xc027e7e2	0x8ce2db84	0xc58d19ce	0x355c8b91
+	0x25018861	0x1c72bb1f	0x751abe69	0x203350d5
+	0x7a483fa4	0xb2c3f20e	0x1f0a5ba0	0x01b7e2eb
+	0x1a043812	0x7103279b	0x96216501	0xce39d080
+	0x637f4509	0x2dc69eea	0xa4efc113	0xa5d30a2b
+	0x58340b23	0x028a5b36	0x55f38544	0x6a1446f7
+	0xd1414b79	0x2911a443	0x0db0caff	0x5da8e7ae
+	0xba030f57	0xe3aae6c2	0x0b058245	0x87da158f
+	0x37e8eead	0x321192c6	0xa450f2b1	0xf1a7353c
+	0x2a704f83	0xce0feef0	0x7d817a79	0x26831535
+	0x365a1cd9	0xe9e2d8ee	0xe8d0f555	0xb4293ebe
+	0x2795664b	0xecf43916	0x1a2489e4	0xfb7a2f91
+	0x524f46eb	0xc580b7d4	0xfb48ec9f	0xe9edac5d
+	0x687e2734	0xd4d78bfb	0x1c6693a8	0x9204e278
+	0x2b030f0a	0x1c1e5dde	0x1233cafa	0xb28f23fd
+	0x3e9ec6d9	0x340daf97	0xeca43ed2	0x7580c01b
+	0x98bc3331	0x81df920f	0x66fa4723	0xb5576074
+	0x560b0b7b	0x2b330f51	0x11d4383e	0x2403d863
+	0x2ea9ef88	0x0a4f364c	0xff826ec8	0x1a2b598d
+	0x27336491	0x3ed50c05	0x7fa670e9	0x117c4928
+	0x4f7cb2e1	0x0246bfb8	0x0299dfb8	0x25da1033
+	0xc943c492	0x0c928512	0x88231d4b	0xfa8cd638
+	0x648b0dd2	0x8dad6a9e	0xa6fee246	0x48c260f4
+	0x89f51cd7	0x45d87837	0x7dbc8e53	0x43ae16d4
+	0xb6537ed6	0x5623ab3f	0xa9067ff4	0xe7357501
+	0xb74554de	0x8db2a8ee	0xb1e92a76	0x6e8970ad
+	0x5266a3f0	0x90df4e6e	0x8d646d19	0x4cedc27e
+	0x2bf8d9b2	0xf525778d	0xbdd502ab	0x51bab600
+	0x4eb5b0fd	0x7fe503f6	0xb93e599e	0x2e7d6071
+	0xdde8884b	0xc91c3510	0xa8e14896	0x1880e079
+	0xa4c89f7d	0xadf62f1b	0x6ff233d7	0x3be5bfb6
+	0x6d105d93	0x120397d9	0xfed419c5	0x205a6631
+	0x4d0ccb3d	0xae0e1f09	0x86b9112e	0xcdf2228c
+	0xa0e388cf	0x7456f52f	0xed2d99fe	0x6914f63b
+	0x00feaad2	0x8733d05f	0x2c466ea4	0x7fcff031
+	0xa529f5f0	0x729f8fa1	0x7df47b76	0x1f711f4a
+	0x81e6e406	0x5eb25e9f	0xf762231c	0x26420e88
+	0xae513342	0x6b1ad7f3	0xa5a6a7c8	0xa1ddb22c
+	0xb838a4c3	0xb227f5ff	0x6b86a07c	0x99414531
+	0xde3a3511	0xc284c098	0x3946172d	0x8797e956
+	0x5287bf4d	0xdc668157	0x514f837a	0x0898e1b2
+	0x923d59d4	0x9bd5b501	0x24ab0c95	0xd9a6b20a
+	0x938f61e6	0x14ff757f	0x285003aa	0xdaa7c43c
+	0xd1831a8c	0xe3ee3682	0xf1840914	0x3925fe7d
+	0xf0837c25	0x10228862	0x17fa9af4	0xe7dcc72a
+	0x1849b0f5	0x51320d1f	0x0333beea	0xc35685e7
+	0x0160dbe9	0xca507680	0xd6f2f43b	0x4c9a31d0
+	0xdf6460dd	0xaec8cba3	0x52c8bdaa	0x2664c6ee
+	0x4b3288c4	0x53cea59b	0xfb6ace34	0x41dc20e1
+	0x6a5f4706	0xbbedb5f3	0x9f37322e	0x44a09752
+	0x2ab91444	0x57b4ada9	0x6afe576e	0xaeb73b50
+	0x97d3de4b	0xfec4d616	0x29896080	0x43fe8c34
+	0x83842eec	0xb08f170d	0x03c432a7	0xfefc7b82
+	0x51f66600	0xed503541	0x03b6608d	0x8e3ad843
+	0x4bf99ad2	0x614c069f	0xce7641b6	0xd27a6f9a
+	0xd40eaa7d	0x110c143e	0x352d0651	0x4473dffc
+	0x5d40252f	0xa25db878	0x7df32c3d	0xf4ef6edf
+	0xeaf881a4	0xe88b9a18	0x7df554b9	0x1891b621
+	0x55af4ac3	0x8c39df79	0xc4c205db	0x4b34c0c1
+	0x8c0ff68f	0x72bc50d3	0x5f99c8b5	0x7ba6188e
+	0x798c3d10	0x26870c75	0x90a64bc3	0x6979b922
+	0xbd185fdc	0x6b661e71	0x0beab544	0xbe84004a
+	0x3aa803bb	0xb1e808f0	0xaf7e7b83	0xb12a39d7
+	0x616490f4	0x920b37c9	0x857eea29	0x6d6ca978
+	0xa8388103	0xf4218257	0xfc9a0717	0x4c739240
+	0x3e79ce00	0x3dfd18eb	0x37138fa4	0x9894c467
+	0x507d7d56	0x26c1bc89	0xe787e45c	0xdf554cc5
+	0xd2279a50	0x5b172582	0xcc5d24a4	0x7dafb34c
+	0xd4b16c6a	0x21b79147	0x89e1024e	0x04094b5e
+	0x850c0a4b	0x0c7cf33c	0xe4da26f7	0xa1a62536
+	0x920afaa2	0xba63c038	0x16591450	0xcb6c34ae
+	0x29464a83	0x1cc673d5	0xa530ea51	0x265ec529
+	0xe30bb676	0xbf18606c	0x3f12df0f	0x1ab669d7
+	0xeee0c289	0x33106be3	0x00e39909	0x5a312123
+	0xcbda8bb2	0x0d3ec086	0xdd7c0f83	0xb7ecd1e6
+	0x1b3002ad	0x737b819b	0xa5dd3b45	0x632f9c32
+	0x0ab37cb8	0xad7eb92e	0x6e2d114c	0x586e0994
+	0x2af40df2	0x5501217c	0x0ab62f0c	0x3b7100b8
+	0x0dc35d9d	0x3937491e	0x04f37faa	0x6933c2af
+	0xf1e2c593	0x8c66b14e	0x7d542e43	0x970d2632
+	0xd49e3d2f	0xaf9d7d2a	0x327e5488	0x871a50fd
+	0x3f1158fa	0x2f3838ec	0x9617a31c	0x16e2c967
+	0x09710826	0x077a1657	0x95a1abe9	0xea49bab3
+	0x32ee12a9	0x2d49626e	0x9b95c7dd	0x4846b0a7
+	0x9cfae6bf	0xa9f862b6	0x3e3d167d	0xa544a3e3
+	0x94cccf7c	0x8b97f7c6	0x022b9624	0x5b60bf75
+	0xbd533ed1	0x133cc7d5	0x3853ff82	0xca2bd76b
+	0xed552e3d	0xf133d2d5	0x652c0f02	0xdec8249c
+	0xf61921ad	0x09a9e3a3	0x2229e133	0x01afa009
+	0xc843783f	0xba96a153	0x3d80b2bb	0xbf5398c3
+	0xb66ed306	0xd48fdf1d	0x39040227	0x1f1980fb
+	0x51e740a3	0x6603060c	0x9ce34405	0x9abc2a4b
+	0x7ece5908	0x457998a7	0x45443d10	0x20f2a0d1
+	0x9cac676e	0xb8e66c6f	0x4cbaa744	0xecdc6c5f
+	0x5be9ad3e	0x1a7af08b	0x94375052	0x9547a526
+	0x3f3d7a29	0xfa571d4f	0x00324a11	0x003ed568
+	0x92224138	0x0bc6fa9c	0xd4dcb738	0x81932d66
+	0x27525a40	0xee39a4b5	0x4ad66faa	0x59c5ca88
+	0x578921a5	0xb493d0f3	0x005d131f	0x49bf227b
+	0xa8ea547d	0x2e5c9a48	0x16afbca7	0x34e8a7d1
+	0x5aea0b5b	0x82c3e281	0xc537c374	0xefe8922e
+	0x4ed6aa04	0xc957d8d8	0x54887681	0x61da5bff
+	0x7d116291	0xf2046fc6	0xb71da398	0xf9ddcc7f
+	0x7a884d46	0xf0bdbbe2	0x5fd74815	0xf86cf766
+	0xf588e4ba	0x88d910f0	0xa246d4b2	0x5b2e87cf
+	0xef07a06c	0xefbb295a	0x6be0b60b	0xa0684b8d
+	0x2e4ba4a7	0x32aea4e6	0xde8df602	0x9754eee3
+	0xb79c1df3	0x92819bcf	0x6e2212c1	0xff2ec504
+	0x970e83e3	0xe44c1588	0x25ef7a1d	0x78439e8a
+	0x49befb02	0x30dcc732	0x2abf9573	0x8fb2d451
+	0xb708f582	0xba802a07	0x5a4b4d7c	0xac3d8fc6
+	0xda0c8cdd	0x616ed6ef	0x371d43ac	0xd7e81188
+	0x197b6cce	0x598b7855	0x81091bc4	0x73115e41
+	0xaff509b5	0x62ec8b9c	0x070f53f9	0x65e9acfa
+	0x46b936b1	0x5a97edab	0xbd9093c3	0x7e56e0be
+	0xceb08216	0x523f649c	0x73565919	0xd5a478da
+	0x5e49884e	0xeed780b7	0x670f342d	0xcbec0af2
+	0x60193aa2	0xb9b836f5	0x88142d75	0xb6ef20ec
+	0x45ecc95a	0x86fa7d20	0xbed3332b	0xd72235ef
+	0xf3dc1ee6	0xdee60153	0x17c288ee	0x1598ee3a
+	0xad8be82b	0xbed18162	0xe741e3ff	0x7b2ceebf
+	0x0c023ffd	0x228d9357	0x2519b917	0xb21337c5
+	0xf7ef1ec9	0x1e38a02c	0x2aaca8aa	0x91ad2397
+	0x39b94e45	0x9c16a80a	0xab4f0207	0x9fdd96e8
+	0x4c7e82b0	0xe58e52dd	0xb35c5152	0xf72c7988
+	0xe15b2b53	0x37b3ca5a	0x382cf820	0xe9a5b10d
+	0xfdac3128	0xd613d631	0x0bfa05b4	0x8ed858c9
+	0x48fa9bf3	0x6b0a24b3	0xaea3ded7	0xfe944124
+	0xbfa01ac8	0x90c4b032	0xd506ef49	0xf3c2a52f
+	0x1e717e29	0x9d032123	0x4eff6847	0x87fe7932
+	0xf91e0251	0x7291c0e9	0x04c8865e	0xe26812d8
+	0xd7af6deb	0xab8b239f	0x0d357507	0xc3f23049
+	0x0fcefb47	0x7c1ebbbc	0xda0ff8d8	0xa2e91757
+	0x2cdd7611	0x51b85a13	0x1a658155	0x97ba5866
+	0x7b02d127	0x9a65f8dd	0xcea44087	0x3c44fedf
+	0x6cba4b83	0xb30c9c48	0x5f33e368	0x46309d1b
+	0x5e97e1a1	0xd4dfca3c	0x03762329	0xf499e182
+	0xa8b3de50	0xd6a940c5	0x420b4200	0xebfae5a8
+	0xfff42408	0xd034dab6	0x0fbfc9f8	0x618c48aa
+	0x3258a668	0x040eb946	0xa3e0adf7	0xc5374611
+	0x640a6581	0x57444570	0x4249f689	0x44f6314b
+	0x7461455b	0x13066c2d	0x0d3d29c8	0x58e15f8a
+	0x454ef231	0x9185d050	0xe99a20a0	0x7a06d75e
+	0xd7449ae9	0x93e6bbd3	0x872176d4	0x333d8cd5
+	0xcb511dda	0x3c1ccbee	0xe36c2ec0	0xe9344c87
+	0xf54d7abf	0x531dfea3	0x7272fa0c	0x4c3dc858
+	0x3d13b763	0xb2996ab8	0xa0a21103	0x95e9b6c8
+	0x240dd708	0x92e0ca36	0x3945b765	0x436cc495
+	0x333ef58c	0x463a6f85	0x793e9df9	0x9fe86bdb
+	0xfbf0cbd5	0xdac52990	0x4c3afe5b	0x267ad809
+	0x662c4ebd	0x6b4ac1be	0x89e7bcc0	0xfe4a7721
+	0x48b4de81	0x4c81164c	0x1131ab47	0xc661f7e9
+	0xe1d1bb65	0x7b57048d	0xdc99c55e	0x215a3641
+	0xafd86760	0x1b2d56d1	0xe76d8f74	0x559c649f
+	0x97219fc9	0xd5333043	0xf846c8fa	0x8cb63ba0
+	0x1b320870	0x884e95cc	0x1655b161	0x4ee1ffd1
+	0x376ce49d	0x028cc7f3	0xcc13e8db	0x9712f287
+	0x753196b9	0x4227cf42	0xa5c3c359	0x37b5733f
+	0x8e2920b7	0xe0e6198e	0xc9cc7de5	0x8b8d8fb0
+	0x93807f0e	0xc476c872	0xda4d5c5a	0x4ead8398
+	0xe5da2718	0x253611b6	0x54273437	0x435528ed
+	0x37fe8557	0x3f31ac9c	0x4ce87c33	0x83f19d78
+	0x5b7974d6	0xe62a980d	0x0d35445f	0x6823eeff
+	0xfb23d49c	0xac42eaef	0x7cf3f7db	0x4703e364
+	0x2fbad2c7	0x6ad6c9ca	0xdeac6634	0x9aa4e069
+	0x16375fed	0x5a37affa	0x3ab2c7f4	0x576377ba
+	0x9ca8949d	0x9eab830a	0x2eac9f46	0x20140d74
+	0x49e169a4	0x29c8228b	0xb10c113b	0x97486ddf
+	0xb268ccbd	0xee145285	0xf6db444e	0x2971a507
+	0xe20506c1	0xaed3b844	0xa7d3a71f	0x0ec8a80f
+	0x3964b61e	0x664c06c3	0x8aa6f07d	0x190bd9a4
+	0xa713711e	0xc149601a	0x0e33b930	0x92d924b0
+	0x3a3e6055	0x891417db	0x9da57235	0x7a5c95cd
+	0xb220a13a	0x61486a53	0x84e823ae	0x3a525213
+	0x8f83fed2	0x97a20f72	0x01d40e7a	0x51a8696f
+	0xf78ee740	0xcbe3f17d	0xa03fec72	0xa3c10477
+	0xeee0cc71	0xa4275070	0x71a4858a	0x3e6c10c5
+	0x157f1c48	0xe761a235	0x7ebd0044	0x0587573a
+	0x504bace1	0x18b0e30c	0x87da65c8	0xb09e218f
+	0x394ddcbc	0x30850b35	0x870144df	0x308786b3
+	0x3b5e72c7	0xae824b41	0x08dcbadd	0x4205606c
+	0x0dba1b98	0xea8b026a	0x0ff80267	0x4d345dde
+	0x3e9fe94b	0x2e5150ee	0xe690ebe4	0x7e15f05b
+	0x6fd516be	0x113d1f78	0x8e460364	0x0a18c989
+	0xc858ba5e	0x65229038	0x7103dd07	0x9cd5dfd4
+	0x1d90fe4b	0xe020ff30	0xcd525bd1	0x9b44f15e
+	0x535137e9	0x06e76f27	0x7fef31ba	0xaf21d659
+	0x9f96533b	0xee3b980f	0xf88f1efa	0x47e69092
+	0x7384ba38	0x76c06863	0xcdea308a	0xf05dfad0
+	0x954345cd	0xa0c58d59	0x82cdc2ff	0x5501bae6
+	0x1ca051d2	0xb992dc65	0x98d2f849	0x759e5af7
+	0x3f6ba599	0xbd2b801a	0xf24cf7e1	0x523f4bc9
+	0x280bbd9f	0xaa28b183	0x8b41afce	0xa4ffac7c
+	0xd7555ff9	0x15e6d70a	0xf7d9ecf0	0xf647181e
+	0xcae10548	0x7bf3059a	0x5f53e585	0xf168d5de
+	0x78041850	0x3f3c1c0f	0xbb820ed8	0xe84de7fd
+	0xe0f8e79c	0x06b59d3c	0x42cde450	0x40068ecd
+	0x239241fd	0xef3e69fc	0xe54ca169	0x026d86ef
+	0x790f5960	0xeaac92da	0xdb1ea331	0x34b1795c
+	0x975382e6	0x383576d4	0x9846ba3e	0x7d666cfa
+	0x63c9f2c0	0xcb0b0e51	0x15de13af	0x5b50543d
+	0xf3088ada	0xb0a0eea1	0xa16789ae	0x023687e5
+	0x3fe5a0a8	0x2d087c46	0x1a9f7dfa	0xc111594f
+	0x22f0c9e5	0x23519d74	0x063af453	0x3dded0c4
+	0x2fbec97e	0x94c3a2ed	0x712515d9	0x4e23c2bf
+	0x47ffab6d	0xcc975cde	0xb2cba5ae	0x4f64f77d
+	0x1170d2e3	0xc8ec9fcf	0x548eb6b2	0x28c636df
+	0x7b85e66f	0xc3ae89e0	0xa769b4eb	0x3f7b60d3
+	0x99ae9021	0x32951125	0x38d1f0f7	0x635b3981
+	0x784cab8e	0xb9ac2ae0	0xd9c8e406	0x849e2f3e
+	0xbd46e71f	0x31cc9145	0xcd817b28	0x5d234af9
+	0x5682e8f0	0x6963b396	0xbf42c2b3	0xa6b17649
+	0xb083630e	0xe2bbb3f9	0xe2812105	0x524c7c1a
+	0x3587ab3a	0xe5a43843	0x9013db3e	0x1c7202b0
+	0x059b7c45	0xa79ad1f8	0x578dcda8	0x286f7a7d
+	0x29b82899	0x17e9a470	0x292e9656	0x4ffecb5d
+	0xdf7d989c	0x33d2f0f6	0x1ad9a38f	0x7192ebcb
+	0x63c0924c	0x87adf98d	0x003433bf	0x1f9dbd42
+	0x38811388	0x032c6dbd	0x7216bfaa	0xb8405caa
+	0x358ef886	0x0d8de625	0xda26a3cd	0x02e02bed
+	0xbfee97ad	0x9bd94b51	0xa3e0d47d	0x07afc5ce
+	0xf1846ab8	0x9c56da77	0xdaf48909	0x980d0cf4
+	0x201ff73a	0xecd7d225	0x2f8b88f5	0x6afda416
+	0x1c230e24	0x6e71c111	0xd056e64e	0x8b02a960
+	0x7b3e5cee	0x9369c16f	0x8cc648d2	0x5b1044a3
+	0xec7ad383	0xafdc087e	0xb7331119	0xe2b73df2
+	0xe5aa2679	0xb68a0024	0xbf417687	0x39f8f49c
+	0x4dc6f396	0x394c364b	0x84b262e6	0xfd08738b
+	0xef799352	0x99f6ce19	0xf0deea77	0xff7b2b32
+	0x9f0047ec	0x93328447	0xa68daaeb	0xa15c49d9
+	0x9c2ee179	0xd880098c	0x591333e1	0xf95bbf1a
+	0x99b94163	0x6775a129	0x58312bae	0xb05a0204
+	0xb369ee9d	0xe33139c8	0x228ddb00	0xa90eb06e
+	0x9d740ac2	0x7fe877d0	0x49e80e67	0xae0a1b4c
+	0xe0762721	0xa8aa010c	0xe1b1c70e	0xc4cb1331
+	0x98e2a2b1	0x95eb5adb	0x27ce7e8d	0x0c4c9fb0
+	0xa5600d3e	0x0b1b01f7	0xf5d073ff	0x618c31f9
+	0x09ca0170	0x6f40bf4a	0x778c6e4c	0x82a5d345
+	0x89739b55	0x9a8055b3	0x882713f8	0x6127132b
+	0x7dcd4b1d	0x693bcd45	0xd37be4c7	0x5cfcc650
+	0x108ba25c	0xe514be8d	0x0e6acbe4	0x53164bbe
+	0x04f80fc7	0x3d62e170	0xdc0977c1	0xe4e696a2
+	0x2951e0ab	0xe7df7bb8	0xed0452f0	0xa052451e
+	0xef71dffa	0xe7e1a83b	0xf44f3edb	0xdc8909d6
+	0xd106ca58	0x65a50c30	0x629bbd64	0x8aa53b1c
+	0x281d476d	0x9d8ebab9	0x7618cdd0	0x8726df1d
+	0x873d200d	0x3f0dfd8a	0xac699c41	0x6c5fd299
+	0x1a4ec8da	0x02849d77	0xfb9a17b8	0x97353330
+	0xf58f4ca3	0x8cfd3379	0x560c085f	0x0b0f4412
+	0x93abd1f6	0xa4610fe6	0xb2093ea3	0x2132e754
+	0xa27f6dab	0x1dfdea78	0xa453f3fe	0x84952158
+	0x40cc656e	0x6bc83102	0xbc64b5d9	0xebd58830
+	0xae5d5041	0xcb2518e4	0xfbecfd7d	0xd35df3d3
+	0xb1f3c02f	0x672b45c8	0xf1ec9063	0x7e1af731
+	0x9591a4e5	0x8f6cba68	0x47961590	0x46ab9cdc
+	0xafcc329f	0x89527de5	0x848b9e15	0x12a76f30
+	0x8dd22cb2	0x111febb4	0x9f2b87bc	0x4d1124d0
+	0x82885b16	0x9800ccac	0x8ab228d2	0x4edb46a8
+	0xe3a7867d	0x6a0f0f31	0x0ba359e5	0x238c560d
+	0x6f2e9960	0x714940fe	0x2c8b115c	0xb367636a
+	0x5ef73955	0x1fbd0ed4	0xea769618	0x22879b8e
+	0x19c54520	0x1d60b769	0x8f9c9206	0xe12e6178
+	0x6f7d4e60	0x87a42234	0xbf426187	0x136d1b3b
+	0x096388ec	0x12cf7c8d	0x4f9dc462	0xc4132bc1
+	0xbb83ec7e	0x8a26142e	0xb2b10d85	0x0a22ac57
+	0x587d0f8c	0xfc6566a1	0xf9a313a3	0xdf5b8e38
+	0x3ba410d0	0xcaedcf98	0x623da0d4	0x48a77151
+	0x9fbc8986	0x75d69451	0xdd8db5ca	0x3d143e41
+	0x23c6ef92	0xd4e8c17f	0x50fcf1cd	0x65202d54
+	0x7f465e5a	0xfc9487e9	0x21302b5e	0x22cf616c
+	0x09b9278a	0x24807c5a	0x5347363a	0xa0d43079
+	0x243222c2	0xf31afc3c	0x299615c7	0xbc9862a7
+	0xd9fa9ffc	0xe0da4c33	0x4086d085	0xcd9fef47
+	0xaca1ebf8	0xe9054295	0x0202a632	0x2a566a47
+	0xde6072e0	0x12ab6f47	0x1e961f96	0x79b78cea
+	0x178d0054	0x3a6db40d	0x1c1fa4a7	0x04aeca16
+	0xacfc3b3d	0xa95d26ef	0x7fc56d9b	0x8cd04862
+	0xf05ca31a	0x2f1a8451	0x1fa55f63	0x038c689c
+	0xd275082d	0x6ce3bbb4	0xa5787d5c	0x284ad4fd
+	0xdb456159	0x72fc2b88	0x4e8846f8	0x3652ccd5
+	0xdb67b32f	0xea7afaf8	0x31981989	0x7479b85d
+	0x8cd4965a	0xab410e17	0x3b6000fe	0xefe70084
+	0x4d903c3f	0xad10aa48	0xdf7d8f3f	0x06eb3088
+	0xf80c6c8c	0x1f45157e	0xc81017fd	0xfa4b5d19
+	0x183d9f3d	0xa6552ca8	0x940914f7	0x0dece704
+	0x5183a544	0x2ca83fd1	0x0d39644e	0x689020e9
+	0x8fc6451b	0x6fd1271b	0xaa27e129	0x7c96848b
+	0x51efc70f	0x8fc41606	0xf5d42b17	0x80694280
+	0x1f774b0c	0xaad194cd	0xcdcb3bbd	0xa30226c9
+	0xe94699f7	0xe7e0ad1f	0x4e0e7887	0x4a8eef8a
+	0xd7b8d9b5	0xad81550e	0xd8a47d80	0x3b31cc2a
+	0x283b170a	0x954184bb	0xcb4d6ef4	0xc53a8ef4
+	0x1b9eba45	0x0df70c46	0x9ca62404	0x1960596c
+	0xe447c659	0xbbdf89a3	0x11d5399c	0xf70d6c7e
+	0x2f5f411b	0x55d83f23	0x49d3a5ee	0xa30d42ce
+	0x9d7b5dab	0x798ac7a0	0x54427d51	0xb93539d9
+	0xeab10ab0	0x9baeca42	0x5db291e4	0x6a572088
+	0x1996c3b5	0xc49e4528	0xe5d91c6d	0xace9b18a
+	0xdc00ef96	0xabb2be9e	0x9c8c3dce	0x5575fef9
+	0x55ee1588	0x54fd1f04	0xb51f8054	0xa79f2970
+	0x2b944de3	0x258bb2a9	0x6d795400	0xd8e37086
+	0xe28e13f8	0xac866668	0xee61e623	0x74822294
+	0xb8e40564	0xed674c7a	0x41649345	0x18f67675
+	0xccf6dae5	0x2f771905	0x41617a0d	0x89892452
+	0xebe9c54e	0x15c0047a	0x1360fe11	0x97e9968e
+	0x969ba1ec	0xa8d87a94	0x89c42871	0xa3b7600b
+	0x1eb2da3a	0x51ad206b	0x0ffa1e92	0x6b54cc4b
+	0x551038b9	0x56d3134a	0xc604c359	0x921df194
+	0xdd0e8901	0x0aa069b2	0x63cdd252	0x7f0eb051
+	0x6eb669a5	0x9e4744aa	0xbbdb786a	0xade2eff8
+	0x01735f2f	0x59b21311	0x2a9b3c19	0xfef63adc
+	0x7f935ed5	0x4107ae2c	0x7e87a339	0x169cff65
+	0x9c405742	0x714007c1	0xb7c3a785	0xc4c48389
+	0x31f92159	0x0dc32968	0x52ffa3ea	0x97148ffe
+	0x24e05234	0xaa26f639	0xfcc1d939	0x88657f96
+	0x8f50c4f9	0xf1889d95	0x0ced35a1	0x436cecef
+	0xeca9a15f	0xf48e7adf	0x457a7fcc	0x7a6c1239
+	0x5034af95	0xa718db0d	0x148c7f75	0xe71321af
+	0x6ca91aec	0xd8e3f28e	0xf1792028	0x6cd6de0b
+	0x08a5b4f8	0x6c423f4a	0xabc9fd13	0xd9b32cb5
+	0xa11cf2e9	0x1cf2a8d1	0x5399808b	0x41c4342f
+	0xfc8cc322	0x886c8a1f	0xda930d22	0xcb065a7d
+	0xac2af243	0xde40d5c4	0xbfc31749	0x1648efb2
+	0xd7a7c284	0x66354919	0x0ae2ebfc	0xe9467716
+	0x31bc8fa5	0xee8b06a8	0xd225ddf4	0x1abb30a5
+	0xbab806d6	0x4089c5c5	0xda27fce1	0x049b6de3
+	0xc750ba15	0x8a46ce66	0x036144aa	0xfe034871
+	0x1abebc7b	0x493f7de8	0xb2159be7	0x6fa331cb
+	0xb96cabc6	0x38c0604e	0xfc029108	0x5e60b9d0
+	0x4659e613	0x03acd4cc	0x199fdfec	0x378d55eb
+	0x769412a0	0x15e6347b	0x92c90797	0xc9074949
+	0xf8122bd8	0xf412bc92	0xb78b97da	0x0b57c329
+	0xe53305ea	0x8df0ab76	0x8306e3dd	0xd0d7318f
+	0x36adcee8	0x874d40a3	0x01013be2	0x22ea83d6
+	0x103a41eb	0xb0597649	0x3da90abb	0xe329568a
+	0x197f2854	0x0bcf6548	0x9a8cadf8	0xdbcad384
+	0xdbd146a4	0x47614216	0x20ae929d	0x700c45dc
+	0x2957fadb	0x2ccecc42	0x59dade3a	0xbd4ba21d
+	0xa54cbdfe	0x2168aeac	0xf3fc977e	0xb8a43acb
+	0xb673e386	0x8374b99e	0x1c9b8514	0xb27755b5
+	0x76a14bad	0x7f9e80f7	0x7827aad7	0xa38aace7
+	0x09bfb029	0xd8744c16	0x60e27d36	0xf0bb9c68
+	0x6c6ea1ba	0x1920dde0	0xfd949296	0xbdd246ba
+	0x71b9255b	0x443eb00a	0x484b5641	0x6cf54003
+	0x719a7b75	0x5fd6ceee	0x94379976	0x610d0ec5
+	0x2e601eb8	0xd5b31116	0x351833bd	0x71e20a77
+	0x1bdf31dd	0xf2b71f50	0x643e7b0f	0x14966e60
+	0x2ea94458	0x18fd7a19	0xc2042ba8	0xa6b2a8a7
+	0x5591ab4d	0xd62a7fb3	0x478b9fc9	0xfb0faa9c
+	0x840848c4	0x51d8e887	0x0982b486	0xf5a7a82d
+	0x651cd99f	0xc429c680	0xfae0f0a4	0x341f4588
+	0x358b09c5	0xeab81b53	0x4107619a	0xfd8686a0
+	0x23438c74	0x03e44685	0x7acd2f1e	0x0324c896
+	0x0c4fb764	0xa859e8ce	0xc041d07b	0x1ddea0d0
+	0x0c7d3a05	0x1a9552b9	0x791ac20b	0x135c3573
+	0x3315a1b0	0x20f6b0ba	0x9301b576	0x5f9396fc
+	0xd2b55a44	0x1ccf9ebd	0x8cf0350d	0xa58f9151
+	0x251be7f3	0xce2201a3	0xdf354713	0xe1c1bb1b
+	0x6821a792	0x8b1a47e4	0x681b765a	0x6b857d78
+	0x4b453e66	0xecbeea8f	0x7d4aa02f	0x138ad3ce
+	0xa2e27fdb	0x9f47ceb9	0xdb849664	0xd89748fd
+	0x3245bf9d	0x16bdbedc	0x386f037d	0x9cc949f5
+	0xbeda4924	0x357c0a52	0x9f6e807c	0x547bd479
+	0x51495240	0xd1883e61	0x04869ce6	0x47f09ac8
+	0x2e5cf223	0xc34ef901	0x15b69b18	0x052b45c3
+	0xa045628f	0x7fdf706f	0xaa943b26	0x52a91e2a
+	0xed73757f	0x6ddb9171	0xae2e6289	0xed44ad05
+	0xd9ba87ac	0x5225b7f3	0xd227abe1	0xf95c862c
+	0xf22fb4e4	0x34376d96	0x121f979b	0xb65b7535
+	0x3bca35ab	0x579ef994	0x72659829	0xc0094673
+	0xdea78eef	0x51248fb0	0x4a883536	0x9c69810c
+	0x6f9e2a2d	0x33a54fa3	0xbf04ea97	0x081092e0
+	0xe783b995	0x47f781c4	0xfe77defd	0xd0b42d36
+	0xbe387b86	0xe3072ad9	0xa3b6908f	0xe2141964
+	0x77d70045	0xa86ad40a	0xc3c457c5	0x3e7b7126
+	0xbef763ea	0x0d6fc62d	0x5915bf32	0x2aff83b7
+	0x21cb6fed	0x52903bf0	0xe020e340	0x0b3f355c
+	0xee7c6bc1	0x060fb2a8	0xc0323dfd	0xe1dcfb29
+	0x668647ce	0x3e46e584	0xae4baffa	0x6a77a8f6
+	0x20d34fcb	0xd9ec900e	0x778a2afc	0x1a59fb8f
+	0x43e94780	0xd4e333ad	0x97f82259	0x141571cd
+	0x73aa7c5c	0x18fcf18a	0xd48a4fb8	0xc109eac0
+	0xe8de4f47	0xfd509a7b	0x90707861	0xfb8c77cd
+	0x3b7122fc	0x4ca78b8c	0xa35f59d0	0x45ae991c
+	0x8e70498c	0xb9202519	0x65c96b4b	0x78a4fc95
+	0xdcf1b9a5	0x1031417a	0x9ff8793e	0xa2030f94
+	0x8c733cfc	0x1c91d955	0xf6a68ffb	0xedd6944b
+	0x2aa354d3	0x6ac7af45	0xf1f3cd2a	0x4c62c093
+	0x03480c9b	0x0f246eb1	0x2a4b1c9f	0x839b624c
+	0x29a74da9	0x34ae761d	0xaffd7053	0x136c170c
+	0x62d45905	0x6707d6b3	0x7c828933	0xc8df0f9a
+	0x16917824	0xa446ec27	0xc0ebdeb3	0x78183042
+	0xf55d10b0	0x7ac4cae7	0x1e03a86d	0x5b0469f6
+	0xaaa1c0d0	0xe1ec5485	0xbd92cc52	0xe57b7def
+	0x371cdae6	0x5a344a02	0x4fe6202d	0x550f73f7
+	0x0379ceb7	0xd8136303	0xdc4359cb	0xe38ee67a
+	0x2aa895da	0xe6cd6cdc	0xa50300f1	0xdaecc9bf
+	0xde559d55	0xec988d8d	0x2daf3e0b	0xcae251fb
+	0xd26d26e9	0x130ce5fe	0x86d2361c	0x3108822b
+	0x842528a2	0x23b91b1b	0x48fb92e7	0x013305da
+	0xb9382453	0x8e338247	0x1cee69df	0x28dda889
+	0x3098b87d	0x2fb8a4f2	0x12cbca62	0x0050c443
+	0xa9640f44	0x56926695	0x84f1af0f	0xe7612db4
+	0x7ca148a4	0xde5a4740	0x04fc09c8	0x1168eacd
+	0x3afcb851	0x481d093a	0xdab01eb3	0xad7d6f56
+	0x0311d8e9	0x4094dbf9	0x264b6da5	0x3a5fdc11
+	0xcd2ee17f	0x50cfbfc2	0xfdc9419f	0xa61d64be
+	0xd9786507	0x4202f8e9	0x13f58fd8	0xae675835
+	0xaf0c72ea	0xadd2275e	0xa0afc1b2	0xaef42673
+	0x059895be	0x4504a91c	0x0d1abd4c	0x7986dcc6
+	0xc13fe6f8	0x4780bfd7	0x44ae446b	0xb70c300a
+	0xba32a5dc	0x807aa794	0x45e8373b	0x955cb2f6
+	0x4ff6ce64	0xa75d9feb	0xf99b0f94	0x1f6f42cf
+	0x7f3e7082	0xf05cfbc2	0x2981d66a	0x0031868d
+	0x93ad9527	0x20e0a72c	0x7af059e2	0xb4db736f
+	0xc1ee8a47	0xee31b1f2	0x075c758b	0xb796cef8
+	0xe758683a	0xa417d0b8	0xec701109	0xd5db6f14
+	0xee6759ba	0x965fd314	0xa991abc2	0xe431e1a0
+	0x8c49bd5d	0x393827a6	0xa432862f	0xc41e1a96
+	0xbe0bc3b9	0x3d8cf302	0x42bc70da	0x8748df76
+	0x110951c0	0xb1685274	0x06f426f6	0x65ec87c5
+	0xaf689ca5	0x602d9679	0x19363407	0xb0fd04c7
+	0xa38ad24a	0xfad9b36b	0xa13c711c	0x4e386365
+	0xa4f8a466	0x55276e7b	0x7e8f736d	0x6fb49d16
+	0x319c5c11	0xaf40ba4c	0xe7f84dd4	0xef4dd864
+	0x5ae207ae	0x09a3ef70	0x23a90e6b	0x9c9697f8
+	0x7155d79b	0x131fc9fb	0xb46cb500	0xeae3eb61
+	0x51e29783	0x3922bd46	0xdb8afa10	0x33b0ebfc
+	0x3e43da19	0x2fc38e51	0x97f3bf1c	0x8c3ce68b
+	0x7c0550be	0x6a53e9f6	0xbf6cf7c6	0xf338ad58
+	0xce0f1a73	0x4d372ec0	0x29281dbd	0xf6b0bd7c
+	0x85b26827	0xa454dfb2	0x52b28dab	0xdf3af48a
+	0x5f533d2f	0x2a609d20	0xeaf73bed	0x5e350bb2
+	0x95d2bd12	0x908c3f5d	0x71511f88	0xd2060f72
+	0xa818d161	0x84f5ebee	0x59ed524e	0x4e45cb9d
+	0x6ce00f42	0x33e0c310	0x75e34119	0x140e3cc3
+	0xacbeda6e	0x4c450e0c	0x9ae2ef44	0x7c98afc7
+	0xa2093bf5	0xeab6cf15	0xcba6057e	0xf04c3ce8
+	0xcb5cf30e	0x044ff594	0xc2cdb5f4	0xc8c60b17
+	0x701c8bbd	0xbf893762	0x2ac72a28	0xe777c968
+	0xcd25da52	0x747eeb7b	0x76ee7f3f	0xffa7dcdb
+	0x69e68c12	0xeec17e1d	0x93710ea9	0x5370892c
+	0x24463499	0xfa5ec00b	0x3b1f55cb	0xa6fec9d7
+	0x4fa50806	0x7f8066fb	0xf914e3dc	0x1f814780
+	0xedbff426	0xfec2a635	0x5355f69a	0xf4f47000
+	0x0be99ed6	0x6ca79305	0xb5744697	0xf50a8edf
+	0x91fc0932	0xb3ff4411	0x4d72ecd7	0x335f8ba6
+	0x1b393143	0xf0cdce19	0x95543420	0x88d44565
+	0xf47e1e74	0xd7ceb70c	0x95508187	0xfc65e9f3
+	0x92cdfb27	0xa12af6a8	0xb8754dba	0x436f5819
+	0x0e3a952e	0x91178a2c	0xa25c2395	0x15379544
+	0xaeffd675	0xb74779b5	0xd9229b70	0x7c72bd05
+	0x0349e5c9	0x3f2dd364	0x96e25f24	0x5c0fca2c
+	0xe56f81ea	0xee339b9b	0xb6f9888c	0x54ea5d03
+	0xfd136dc5	0x78ebd8a6	0x7d65dc8f	0x1f79781a
+	0x7f058e70	0x68caae5b	0x9e17a15c	0x0b0d7b34
+	0xec758cfd	0x2d2d39ee	0x72b46a64	0x98569c65
+	0xcff678a2	0x1e5eae00	0x197cff21	0xa17e1c00
+	0xf0da9430	0xa007a848	0x0be7cd80	0xc55a8077
+	0xbe7ed983	0x5c6626cb	0x103c6639	0xc0348431
+	0x48a06b34	0xd8c43a93	0x94f5dc15	0xd8282ff4
+	0x798fecbb	0x969eb56f	0x97b834f3	0x9361d4b4
+	0x451962dc	0x9411aa6e	0xa9eb502b	0x2fa0696a
+	0xcfce109a	0xbdbb187f	0x0cef3b86	0x7d420c93
+	0x6a38b476	0xdc49d8b8	0x34652cef	0x1d38f2c7
+	0x9042655d	0xfa414d42	0x79553a30	0xa1197a11
+	0x47f0892a	0x7c7cc3cd	0x0d16e724	0x205ee0e0
+	0xe8d2af7a	0x1b84e9e5	0x762b8343	0xe6f0d4f1
+	0x13c47e29	0xd625bdc8	0x16136974	0x7f4e63ad
+	0x5fb6589b	0x53699412	0x136774ad	0x4469f334
+	0xe0e90aac	0x88a24073	0x940ce7e0	0xcef6082a
+	0xaf7251bf	0x569dfc49	0x23058c3f	0xa2c897ce
+	0x6a31faae	0x352ad804	0x88cc7d68	0x68570267
+	0x07314cae	0x8cc2a6bc	0x3dabbd9f	0xdee27981
+	0x32c1ffa8	0x826ab175	0x769de94a	0x3b11317f
+	0x362a6306	0x2422aca0	0xfc53764d	0x2ca4c418
+	0x5fc2d68a	0xa74a5fc5	0x949b041a	0x0f0f69d6
+	0xd075fac4	0x965a3001	0xb6dd4eb5	0x9b5c6979
+	0xfd84a8bf	0x4ca80a7d	0x42fb907f	0x5770680c
+	0x3684714f	0xba50c3b2	0x0fed8f5b	0x42f42f2d
+	0x7e98ba74	0xcf4ad155	0x33972750	0xabbbbbe0
+	0xcab7ba1e	0xc3e54c90	0x2cf8e77c	0x7eb3c185
+	0xafbe0fc0	0x6ff94321	0x9699d3a8	0xa8f51d2e
+	0xaeba0be5	0xc519f879	0x73b89b8d	0x2c98994c
+	0x5c6688ed	0x0c4edf1e	0xd27a0c40	0xe58b6112
+	0x8b01ccb4	0x7da8a608	0x03b02b0a	0xc35c0051
+	0x33f60875	0xa215809b	0x34e2e84e	0xb1249172
+	0x9c9068f0	0xa4067a92	0xd6260de5	0x2e30b0b8
+	0x895a3ef4	0x1d0df2a1	0xf5fc1a24	0x51fea72e
+	0xa6b203f2	0x13b8ccbe	0xc411482e	0x40529a43
+	0x8ec685c6	0x31334940	0x3758077e	0xc551b5d5
+	0xeed75a95	0x1bbcd839	0x64b09366	0x426afc28
+	0x70826210	0x2cfdb0b7	0x2e1d1442	0x39db3d97
+	0x3826c5a0	0x500157d0	0xd6dacf6f	0x9b9dbe3e
+	0xab4c2657	0x98c19ffa	0xd12dcb10	0x73d3b9ba
+	0x0c15214c	0x737e36b0	0xb903b782	0xb7ac4e8c
+	0x0d0a3b55	0xcf534bc7	0x3268a6aa	0xdaf914d3
+	0x33f832b1	0x280109cf	0x270be538	0xe6bbe826
+	0x11c372ce	0x74a668fe	0x0065b4c9	0xffc007a3
+	0xbcea5c8c	0xf95f792a	0x88b93d2a	0xa76a2eaf
+	0xb6dbc1be	0x8aea9c60	0xaa7f4bcb	0xb48d40c9
+	0x5aeba8d5	0x45797ea3	0x736e4060	0x40dc0826
+	0xd497fb52	0xcdfb751e	0xebd6fdf6	0x3471bbd0
+	0x6d5bb733	0x02b6cbb1	0xd086c9c4	0x0485863e
+	0x878391a4	0x57e62c09	0x37385c15	0x96e76ac8
+	0x093dbd37	0x1ffe70f9	0xe256fc68	0x3a509a68
+	0x019d3e81	0x038168f1	0xe0b2b6b0	0xe6eee6e5
+	0x2080b0d1	0xe25aaf0c	0xada6ac13	0xa3755f0e
+	0x99f9efd7	0xb0cbe867	0x1dd5fe38	0x1bb8bd56
+	0xb54dd0ee	0x344d878d	0xf937042f	0x9ac5c721
+	0x1a60dc54	0x643b9a83	0xe66ce361	0x0d10d718
+	0x31aa90fd	0xf71e52c2	0xdf7eda2e	0xdc068ad5
+	0x095f114b	0xdb1a9b68	0x64ecb9d6	0x6f13609a
+	0x9242152a	0x1a7059cd	0xaa4c92d3	0xbf9a70e0
+	0x93936ec0	0xc8456867	0x05118674	0x0d6289af
+	0xacc6aedb	0x3cd3aea0	0xb11acc65	0x93121235
+	0xd080cb09	0x1a3e9be4	0x3772ad61	0x1277ce89
+	0x503309b8	0x7cc1ada2	0x87e93e41	0x565bfd16
+	0x8d64db91	0x8776da19	0x8068ea78	0x8c4ed3dc
+	0xb9904266	0xafc63a7b	0x120c746b	0xaa5503ae
+	0xf6c8c09a	0x7390cac4	0x736c1bdd	0x03ed0655
+	0xa692aa13	0xa95b2587	0xeeb8140f	0x97c907b5
+	0x6665d1e1	0x335794bc	0xc59a6232	0x0a6a7bfd
+	0x0820e282	0xde4982d4	0x43ce576f	0xca9f43cd
+	0x439467d8	0x513c59aa	0x40a47741	0x6c92f234
+	0x712a918f	0x5222ad75	0x90097829	0xf82f3dc7
+	0x5c95108a	0x9432a016	0x1c13d7fb	0x6a64358e
+	0x88c43a59	0x726c4bab	0xbba1d26d	0x3a6fbec6
+	0x603c6edb	0x5002f608	0x65b6e6f4	0x9911d725
+	0x1e9d73f1	0xad3facb6	0x3074a331	0xff08050d
+	0x84efd825	0x0ba49a61	0xef94c605	0x95e6fa34
+	0x42102abe	0xbb7a7327	0x53fb9fe5	0xbf3e7e13
+	0x35ed38b9	0x2af0b51b	0x59d53a64	0x77963248
+	0xe3788d31	0xe193f2b3	0xeee24485	0x8688c4ee
+	0x9c61fe6c	0x5745fc77	0x8fb588c0	0x9b8b73a9
+	0xddf4a85c	0x37f97b96	0x37ef756d	0x75b88955
+	0x4ddcf2ee	0x0ddbaaa6	0x53188169	0x9c17c6e1
+	0x6d6f6640	0x97c72398	0xf2a555d2	0xbeba7505
+	0x8a330e05	0xfd73bf33	0xa84d8356	0x928cd08f
+	0x302f868b	0x4dc8aaa4	0x0eae2165	0x0151f140
+	0x1b337b5b	0x168f2728	0x377c45df	0xd5a333cd
+	0xf9cd451c	0x386cd928	0x5e45d283	0x7e224f31
+	0xaebe5122	0x75c7e49b	0xe3949ce8	0x397bcadf
+	0x4c0e0f77	0xba92d6b0	0x9288f86a	0xe9a47d7b
+	0x344fc436	0x00a9a682	0xd15e8917	0x7dcae697
+	0xa2955662	0x9465b695	0xec9f769a	0x740159d4
+	0x738b71ab	0xfb57cfe9	0xfa582c08	0x7d5521d3
+	0xe2644c13	0x4311f413	0x3c2751d0	0xc9faa58f
+	0x36b94cf3	0xcf8cff31	0x5dbf8927	0x82f8c846
+	0x8bd2ceb8	0x2a7368e9	0x9eff066f	0xd93f3e0c
+	0x2358ff4c	0xa41ce1e6	0x41ea009a	0x04c7a7cb
+	0xa2897e54	0xdb46c580	0xeca4c4df	0x0920694c
+	0xde5d8ad0	0x23968b10	0xfda8d5ff	0x6bfaebb0
+	0x596eb388	0x797dd1b5	0x18a1e5f7	0x8b58637d
+	0xd618cddc	0xbfe51118	0x46ba28b1	0x94854536
+	0x0fa51257	0x381f2d54	0x20d68fc0	0x540b8ea8
+	0x5e81f3f8	0x55409d4c	0x03768f09	0xdf9ccc98
+	0x012b6611	0x9a8ad678	0x340313b0	0x08fb187e
+	0x3c208640	0xca62a71e	0x75e62236	0x303002e0
+	0x71d8ce8a	0x15cd2434	0x519570a8	0x2ad715ff
+	0x61f33c8b	0xdd1ec924	0xb1a4c788	0xf2c36eb4
+	0x5aa4b007	0x75e7c1e5	0x29bc37f9	0xbc7bf320
+	0xfce34584	0xbebf90d4	0x8a8be8a2	0x3ac72a9c
+	0x0de840bd	0xda21156f	0x06a72c18	0x0c31c6a8
+	0x8dbfb88b	0x2c030320	0x7b91cf76	0x4b698166
+	0x11465c72	0x2dc1af9c	0xec43656d	0x07313b0f
+	0x2347b8c1	0x3a66229e	0x3e19108b	0xe734c641
+	0xc8ab5c8a	0x295e857e	0x80ccac9c	0x52fc246d
+	0xe0d5729d	0xe788795d	0x862db49b	0x81de8327
+	0x57a24391	0x46873200	0x1d6d9e62	0xb61cbde2
+	0x40c67928	0x5983967b	0x249cf427	0xd944ba02
+	0xf915cb96	0x7f07bdf5	0x01d35dc8	0xaed094e3
+	0xfb177ba3	0x81f39bdc	0xab553569	0x09e791f2
+	0x866c4561	0xe41ed6f8	0x880ded55	0x9a6f5b07
+	0x5457168b	0x13b672a3	0xabba6ff2	0xbb92c573
+	0xf46b5af4	0xb8690988	0x8b767492	0x53e2f7c0
+	0xa6b8cd45	0xccc0f21b	0x2205c607	0x97f74f86
+	0x4a671fe4	0x2078716f	0x2530825b	0x3b0db3a3
+	0x3c86b75d	0x780e6f20	0xdf8af7d6	0x547710e3
+	0x397470a9	0xb3f04101	0x206511ae	0x30ccf385
+	0x1792e9bf	0x80ad156b	0x7325e8c7	0x88ba99a8
+	0x6d0992ce	0x07e834c7	0x334e415f	0x2c246850
+	0x8502dfaf	0xb1ef5b19	0x75ef61a9	0x98e3b45b
+	0xcb9f0a6f	0x8c5f2ae0	0x16e43384	0x7ed0eec1
+	0x940e8b42	0x03fcde5b	0xcadb2d4f	0x0a3d8362
+	0x93038e69	0xef8c8384	0x065fcb40	0xdd57dc0e
+	0xf0362942	0xb39c96ab	0x979ec3f8	0x0efb2396
+	0x67a7c975	0xf8f272c9	0x52461862	0xea391db2
+	0x11f15fb5	0x2435ce54	0x9c51b8f5	0x8c7b9119
+	0x4b48b4fd	0x9864e85d	0x9840cd3d	0xa98f4da4
+	0x9a7f03c5	0x89e50015	0x6c6d54b2	0x9e647aa2
+	0xb3835823	0xea9bafb0	0xa6839d36	0xecf71292
+	0x170f2b96	0x44b0ac85	0xaf475a0e	0xa892f2df
+	0x7e92ff6e	0x7a55a76c	0x97a6edf8	0x1a8b561a
+	0xba061934	0x2d4ba604	0x85ece0fe	0x0ab3a735
+	0x26935212	0xe74ea97a	0x33ed586f	0xca8989f3
+	0x4802c043	0xef153bc8	0x32c511aa	0x994c3044
+	0xf3608e41	0x8b2ba3c1	0x27c40d2d	0x56ae54af
+	0xb5df3e4f	0x7cf1679d	0xf76a120d	0x28af2bf0
+	0xf87650fb	0x4ef69312	0x2a28acb1	0xe78d71d5
+	0x8cb89388	0x7f25bce8	0x420545da	0xe654dc1f
+	0xe6fd962f	0xf4f06310	0x9b5ccd44	0x60e3624f
+	0x9f38c5d8	0xe5fcf792	0x839bee9c	0xb405347a
+	0xc8cc045e	0x61506b9a	0x3a3682e4	0x22ca3ee4
+	0x5aff86c7	0xb9091ac9	0x2f8c8afb	0xafb29af9
+	0x1d4a3f19	0x9de74245	0x1a0ea238	0xc8bdc6cd
+	0xf1107b01	0x1dc7552a	0xb46a8c4f	0xe716b42b
+	0xfc060840	0x15fbc29d	0xc532c4e6	0xe96c8306
+	0x9e69da96	0x7f68fcc7	0x67d18b52	0x77a87432
+	0x280a6ee1	0x9a617bd9	0xd8d601b9	0xadc7f7f1
+	0xe3349a28	0x8efa2d8a	0x37ca44b0	0x6499f67f
+	0x5fc7b339	0x690852bd	0x27bd71fd	0x07159d82
+	0x9c841ba9	0x40741162	0xd7df8ef1	0x3edecc5e
+	0x12086a65	0xe8e6ee6a	0x1c177c39	0x1bee453c
+	0x5cc0b73b	0xec84a212	0x174a641b	0x7fa732e8
+	0xdafe94cf	0xa8eb95d6	0xb658346d	0xceee084f
+	0x3ed35394	0xb339f90c	0xb9bc44b3	0x1dd76c34
+	0xf9a54771	0x1482cbec	0x3816720a	0x3a1ebcc2
+	0x15cd4a11	0x94bc6c92	0xcb4cbf26	0xa141f0a9
+	0x11d8331a	0x82a73ed8	0x129d4088	0x3718c117
+	0x9fb3a041	0x51686b91	0x6f735d1b	0xd9eaabc9
+	0x623e6caa	0xbba10978	0x4811fea9	0x9e8a6779
+	0x007ea597	0x02a71344	0x0bc9b390	0x7bca4fb3
+	0xecc97d95	0x1c82c55a	0x746391ab	0xb0fab9a5
+	0x54f66c88	0x21797043	0xcca5c581	0x4fdccf5a
+	0xaabaefdf	0xd606be82	0xcc2b2d33	0x7fd7cb14
+	0x1e3629ea	0xd8e76e94	0xa895dfbe	0x0c06919a
+	0x4ea7aa08	0x3a178b90	0x4a56dfa3	0xb98a1f87
+	0xaf5a9fdc	0x7591a3c7	0xd5b58c30	0xd4028625
+	0x55d42179	0xccf397f9	0x824b38df	0x97292483
+	0x09119e73	0x945cc1fe	0xf4b77171	0x753154e8
+	0xcf0740db	0x3282b3a7	0xcc266194	0x7cdf91b3
+	0xd123931c	0xcfbb7728	0xfe410560	0xc4cce81d
+	0x3b843933	0x75734bca	0x3ea34af3	0xb9515793
+	0xeb66b451	0x3a6a1135	0x633d086a	0x31e627e8
+	0x3d12a160	0x9909d28f	0x6b98e9fa	0xf5e81dba
+	0x8d233c7c	0xbfde17d4	0x5a442267	0x228a56d4
+	0xfcf27d3a	0x3bef2fdd	0xd0c9c057	0x84c2dd26
+	0xcb54e412	0x01f6d774	0x78d352bb	0x3403cb49
+	0xe16e92b7	0x25fdeaa6	0xa90610a3	0xcb43c17e
+	0x880f57cb	0x50908846	0x8255be3d	0xc01dbf9a
+	0x4bb1a52c	0xafc5a8c0	0xa543d14c	0xd18efbe7
+	0x5b18ff14	0x910913a7	0xb78f2a4f	0x2e9aff82
+	0xf3604dc3	0x77b5dc87	0xcbd16de3	0x9e9aa767
+	0x50c14c8d	0xa53a91f6	0xf5369c5f	0x693421e9
+	0xe7d41706	0xde2ae3c0	0x3383fe8a	0xfff54f57
+	0xb22e6bbf	0x330cc71d	0x0566d22d	0x63726b5b
+	0x4af41cf9	0x1da8b9c3	0xd8c5fb71	0xcb4860f9
+	0xbd301732	0xd0300319	0x51458c3d	0x2915617f
+	0xa76713c0	0xaab3eb2a	0x35cdab1c	0xd1958253
+	0xc42c14ed	0x9794c64c	0x3f4860d3	0x5be281bb
+	0x7153eb66	0x0fbe8b50	0x3296f7f6	0x14ca3bc9
+	0x5d3e1995	0x3f54a9a0	0x3a350e66	0xe0eaec63
+	0xf6b40eda	0xb432a3e9	0x8eaf6fd3	0xa5e02a4a
+	0x82181320	0x7b18018c	0xeba1bb24	0x192f05f9
+	0x95aa2c21	0x2635f2f9	0x13a81ac3	0x57feb353
+	0xfffbdfff	0x20c3f27c	0xfe1ccfb8	0x75e9bb2d
+	0x2470564b	0x59e7905c	0x5ad8e400	0xf575caf4
+	0x3c99a548	0x93ff04a9	0x494be39a	0x966d5c2c
+	0xa0439df2	0xb42ecb84	0x5ca0e55a	0x72bb3b6d
+	0x903f12cd	0x55b67ebf	0xaf4188f0	0xdb3828de
+	0x0e8603f1	0x35a3b856	0x63402b22	0x21ab7779
+	0x4efeaba2	0x919829f2	0x4190e5ed	0xbd99779b
+	0xbc96cd73	0x6d5eda45	0x872b6659	0x7c30cb30
+	0x1ad0c877	0xa88ef386	0x03bf7f3e	0xa6c18655
+	0xe39e2764	0xa40da119	0x01f5eb9f	0x4b6790fd
+	0xa50414de	0x4d7d8fcf	0x28e6bdfb	0x345dae6a
+	0xe706b08e	0x7958d05d	0xf6ea912a	0xeebf2736
+	0xc5ddbbc1	0xdf079dad	0x09ea5e1f	0xddea3b87
+	0x367782fd	0x7e657215	0xbce3c13a	0xd998f10e
+	0x22a6ed1b	0xbd57ee41	0x8bd6a4ff	0xbe81acf7
+	0x186aa189	0xe986fbb4	0xb4b798e0	0xa313653b
+	0xec674a01	0x656d8992	0x92104018	0x01eba2fd
+	0x99314063	0x0bc67b96	0x98891022	0x32a936e5
+	0xee8331f5	0xff55bf99	0x2e305833	0x6fea2320
+	0x261d4ad4	0xb357a04e	0x6086539b	0x12b59123
+	0x170e9c0b	0x2c509ff5	0x4684fa75	0x55535535
+	0xc47f3dd0	0xf74a35a7	0x468e5623	0xdee52521
+	0x55f86d53	0xc6c66d4a	0x0f127241	0xa89d946c
+	0x2054df6a	0x7555153a	0x91cf4407	0x71d0e3de
+	0x6dc16613	0x32a44245	0x8607574d	0x6eb010de
+	0x02cb87ad	0x16ca5da4	0x79026a0b	0xb3c22ea4
+	0x2aad720f	0xc59c6272	0x8b0ffcbc	0x90138b11
+	0x94960289	0x018dc9f4	0x28795fe7	0xa9d97031
+	0xdbabb687	0xa26c631a	0x22b60590	0x816e4981
+	0xe881272b	0xc2d2a9f3	0x251dfcc7	0xef7d7cd4
+	0xe92e8a70	0x5a41e9db	0xe4c0d1c5	0x559d1455
+	0xe661afb6	0x87819510	0x880a078d	0xc82fdc06
+	0xe27e27f1	0x9912132e	0xbee4b9de	0x04477b74
+	0xb25684d8	0xeec01992	0xd3e81251	0xfa528234
+	0x435b2dd7	0xe45673cb	0x9b4c9767	0xde5de093
+	0xa2e591dd	0xe4e27f7a	0xe94c0e70	0x5c392194
+	0xff2d4212	0x810af41d	0xf8d322c9	0x14f17d5a
+	0xac7aed44	0xb5fcd81d	0x65eb270f	0x207876ca
+	0x8a89846e	0xe6418235	0xb5a935c4	0xf188f339
+	0x9acf3f50	0x5083deba	0xea6c6c76	0xce7e9d9e
+	0x22461871	0x87f0108f	0x12a97a3b	0x7c8fdec8
+	0x8f326b24	0x617cb20e	0x21a34a79	0xce7c70ca
+	0x1b33c68d	0x92f06767	0xc51c5649	0xf5ae12cb
+	0x75c2ff79	0xe485811f	0x191c9dba	0xc87e8cbf
+	0xafd4b4d2	0x6fc0af0c	0xbb76c0ba	0x6fb0336e
+	0x46f59bb9	0x401ded33	0x88a92571	0x328d44c2
+	0xb494f4dd	0xf5a68521	0xffbacaa9	0x30ff5d32
+	0xa3dcc986	0xc10670cc	0x4d9d69d4	0x365865d7
+	0x9ae0ef1f	0x97e8a835	0x83acb6d4	0xeb6fe7b0
+	0x7337d45a	0x384731ec	0x6a12e5f5	0x5f5f0f92
+	0xb0ab43f3	0x1ecff295	0xc2c72221	0x02d90770
+	0x59869deb	0xe01eb4ed	0x38691b29	0x39b21ecf
+	0x812a2a39	0x1d211c6f	0x027ebf3f	0x9b94bc94
+	0x0be5efbb	0xd4c43105	0x0a3845c4	0xa5662a41
+	0x5110cbef	0x127d92bc	0x99924648	0x222c4bdc
+	0x4db3da4f	0x57c771fa	0x3820187a	0x0fb448c9
+	0x3c17cb96	0x76d5c447	0xdd6cf323	0x180615dc
+	0x6d133cf6	0xbed0d7f3	0xb542fdb6	0x837ff1c6
+	0x5686629f	0x1412eea2	0x45b93f3f	0xd6c324a4
+	0x9b3021fb	0xf0976d4c	0xfc02bea8	0xeab7f534
+	0x0a5f2aff	0xeabbd304	0xfc2b6ef2	0x8e1444fd
+	0x6a683e99	0xef114948	0x9c61f02f	0x702da123
+	0xa10a252a	0xb435a995	0xc828d43b	0xeb2e16a1
+	0xed91a2f1	0xb1783a96	0xae6eb190	0xf5b3ece5
+	0x15caec18	0x41d2124b	0xfe97094d	0xb63028bc
+	0x3849f412	0x60c25505	0xbee19f15	0xad10e883
+	0xcb4529e8	0x5ff6312f	0xc081c3a8	0x51d7c2b7
+	0xdf4b795d	0xe14ace52	0x639c5108	0xce31269d
+	0xed005d20	0x0f251ce6	0x105051ff	0x7ace3072
+	0x2e490489	0xd0677ac2	0x06c42d29	0x09c7eab7
+	0x03a75852	0xda74f991	0xe8bbd5d8	0x49a04f14
+	0xc034774c	0xcefa0c35	0xada23997	0x247c022a
+	0xb87a5cfd	0xd47e56ca	0xc6a48f18	0x745f325b
+	0x97fd37de	0x16ee3f7a	0x94d119a0	0xc943976d
+	0x3969772b	0x3b4eef57	0x13b0c418	0x9a03fed8
+	0x2311572b	0xaade9680	0xce4cd64c	0x63180789
+	0x00abbb28	0xd10c8e72	0x55967c83	0x6eb8b4a4
+	0x8e178a4c	0x245db146	0x37ddc447	0x265c0aad
+	0xfd20a1c7	0x3c6972a1	0xe8f63469	0x4269bc90
+	0xe5c9ede7	0x7b8f7b4f	0xe777406f	0x17e2a6cc
+	0x5ffa1f4d	0xeded9e39	0xb83702c7	0x8ac429ee
+	0x926d8060	0x91ec6bce	0x89a6f240	0xbeb1b113
+	0xd0d62f8c	0x6282f306	0x805e8d16	0xc4ce2681
+	0xf1a51ca3	0xd3f69f39	0x50ee27c5	0xdcdb84d7
+	0x7744f4c9	0xe750aebf	0xae52b932	0x7833c17e
+	0xb6adf91b	0x86c7a692	0xfb8b3854	0xee875284
+	0xc66a6e8a	0x950e6596	0x5a21665f	0xb99421aa
+	0xb2bddb7b	0xf0307281	0x22e79399	0xb541e0e9
+	0x6a45bc69	0xb6ebdd7c	0xd851e16b	0x9783cf97
+	0xafdfc7a7	0x4f011d28	0xc570cd93	0x752db80a
+	0xcf3de399	0x907d3ad2	0x91faadac	0x8c9c578a
+	0x61cfc727	0x8b20e89f	0x4d5a6666	0x8c28e00f
+	0x1a1675d8	0x7c793aa3	0xa2210e0f	0xaa5a9509
+	0xa3942ddc	0x5f8b76ec	0x00aa7a2e	0xea375121
+	0x521b786e	0x4b27e1f4	0x262332ca	0x2a739651
+	0xf442ed82	0x74f40d7d	0x0f374d95	0xd6121c68
+	0xdc6aa0e4	0x0fefe09a	0xb06ef32f	0x45951415
+	0xc25d5b51	0xa139a8f3	0x87363003	0xe59a0f0a
+	0xbfc54dc9	0x69f84ef1	0x3804453f	0x976850ab
+	0x65bfbe93	0xa0b4c673	0x5fd531fd	0x1b90f96d
+	0x93c92211	0x26236f14	0x6d67aa9e	0x1fc006aa
+	0x1e41a145	0xc952b72c	0x3e274f98	0x6cba1001
+	0x8a3007b1	0x12318114	0x82ea0917	0x4a783735
+	0x967e9463	0x957c4366	0x039c4f2a	0x732e105a
+	0xbe8f62ce	0x7acf5484	0xc1dbcbf6	0x6d663150
+	0xafcc53d0	0x9e54e869	0xaccd2f5a	0x0596bac7
+	0x6102d4bb	0x145b2201	0x85772d86	0x157fd7a4
+	0x27b4bceb	0xbc8634e8	0xd713f53b	0xb9a22cb9
+	0xbb6e509a	0xec84eb87	0x58a99ff7	0x6e026c56
+	0x262cf17a	0x96aa6b86	0xa432b5a7	0x4261f767
+	0xdeb7cfcb	0xe52bd101	0xedce6213	0x6bd1704e
+	0xd446c3ac	0x3396a979	0xe46c23ca	0x1be0b8bc
+	0x04b81418	0xb74da201	0x1ba7e42d	0x96db8852
+	0x01477c80	0x4f84f7ed	0x556e3d40	0x2c5ecaa6
+	0x784f461f	0xe6a79f5f	0x223f6345	0x7dc789f9
+	0x803cebab	0xc9fc7fab	0x144312b0	0xfb68670c
+	0x8d3bd502	0xb73a19c0	0x50b4dd3b	0x4434bc5c
+	0x3c96afa1	0x4caeef15	0x4b73b56b	0x6c2dc827
+	0x09d29490	0xda88aafa	0x58e7d66f	0x02d85153
+	0xe028d696	0x397376f4	0xa0b385d4	0xfc52d8ef
+	0x9ff7f61d	0x53d9e137	0xd7eade45	0xf61a3be9
+	0x732b9585	0x172e0d6a	0x6b439ec3	0xf7e69034
+	0x11cf3bfa	0x72db7836	0x28a71411	0xa7e541b1
+	0xa11a869b	0x40cc133a	0x99568ddf	0xf88f5407
+	0x3b9566c6	0x14ee8af3	0x0a553446	0xde19963a
+	0xb30a65df	0x620f06a9	0x23a13e20	0x677abaf9
+	0x85348c3b	0x227e886e	0x621ada06	0x29410dd6
+	0x1d3279c2	0xcb2e1db5	0x8f9e4dec	0x39c7ef14
+	0x1deb388e	0x487865ab	0x2063f724	0x13309f26
+	0xcb9c175e	0x5db6e659	0x2d4afe5e	0xf93105b7
+	0x9c88614b	0xe4c2d81f	0xee47bc34	0x05a42aa8
+	0xc7a366c1	0x717696ba	0xecfe37be	0x8ef87213
+	0x7953b258	0x6b4cc006	0x9687ef62	0x7796cc13
+	0xaeb3b791	0xd8c6d496	0x6801b485	0x75d7bc78
+	0x6b6eeb6e	0xf38743d8	0x6eb75dcd	0x384cb686
+	0x54bb91c8	0xa4c32f35	0x54bb1256	0xae792803
+	0x7764e3f6	0x24ab5fa1	0x3e629e01	0xdeef8f34
+	0xea0bd2ff	0x665e7068	0x18bdd480	0x225c0af7
+	0x96d97929	0xee100c2c	0xeff847a5	0x714dd01c
+	0x4e18e204	0xe804801f	0x9ee779dd	0x8b116fea
+	0xe46e94fe	0x3a7c2031	0x059d9ae9	0x35704f42
+	0x88d7b497	0x90c487e7	0xe82c3c79	0x4ea43be4
+	0xa898a30c	0x68d8ad90	0x675dd885	0xcd3102d8
+	0x527ae14f	0x6cecf590	0x85157cf1	0x713fa88c
+	0x1a3871ae	0xa6a7901c	0x69ed7c83	0xd65a3328
+	0xb9b99e6d	0xa8abd0a1	0x22878c58	0xfc1b1ee5
+	0x86c19e75	0xe370301b	0x312058dd	0xf886eab6
+	0x6887322c	0x5bb6097c	0x45710db2	0x0a0f0b3c
+	0x77367703	0xdd22a598	0xaca61cb7	0x41a8d898
+	0x1cfd1b9c	0x1b5efdee	0xb89bc576	0x9b7bf384
+	0xa51b486f	0x43bd652c	0xdc2a42c7	0xf1d964e4
+	0x60162276	0xecb776da	0x8debf109	0xffe59535
+	0x81a2b6a2	0x3db50d88	0x2b7446a0	0x8e3db5f5
+	0xf0e60f94	0x29c4ec91	0x7d028705	0xc9822a5b
+	0x448ce3b1	0xbb764fd8	0xc1cc6a57	0x2209a704
+	0x79e09f45	0x55bbb983	0xd49826d9	0xc4a8fde9
+	0x0d21fe4a	0xba53caf3	0x7fb4bd8a	0x726917ac
+	0x987c1240	0x06d3bec4	0x20e63056	0xb935a165
+	0xda3ea0b9	0x17c5542f	0x608e6dac	0x0d0ae11a
+	0xbfa956e7	0xec1c2a59	0x8f876337	0x08cc0abf
+	0x01893ffd	0x52ad2c87	0x20b44ffb	0x9629089d
+	0xe38c7dff	0xd170448b	0x58ec3730	0x058f49fe
+	0xf71605f4	0xae95f30e	0x392fb97b	0x1d253d57
+	0xaf27d084	0xf40ee99e	0xc7e6bb9b	0x2385218f
+	0xc33d94cb	0xb3409f26	0x84aada63	0xc519ac78
+	0xb95ababd	0x70e0d193	0x85456e9a	0x619065ab
+	0xca86977a	0x39f8b061	0x283f9b30	0x501e24b5
+	0xb7c6d6e4	0x4ae8a58f	0x2d1002b3	0x59987e28
+	0x0468ccf4	0xa2f04277	0xb0ac7e87	0xb5810d46
+	0x0bad366e	0x483e37c3	0x787222ee	0xe33251ca
+	0x632f6dc1	0xb5cd27af	0x37152a50	0x03204246
+	0x734a5b2a	0x884f4d38	0xe690b2ed	0x0cf8e2f1
+	0x5e6ea1fb	0xdde6e3f0	0x2c64badd	0xb3e27661
+	0x958d5792	0xabeb5422	0x7bd72c81	0x423ddb78
+	0x5da377f2	0x63c26b0d	0xa5bc8b76	0x407d5d9a
+	0x95d388aa	0x3bd4e246	0x9e0fdf3b	0x95a68a1d
+	0xda40dc30	0x04fb17b5	0xbcac4960	0xb21548e4
+	0xb13fb831	0x897b8443	0xba928329	0x02c9ef1e
+	0x955b70fe	0x66decee0	0x0028f1ba	0xd6abca27
+	0x07c3e749	0x81daf249	0xfcc77b67	0xd92cb560
+	0x4d99bc0a	0xfd4f2868	0x835ca0e6	0xf7cbdfce
+	0x2ef23e50	0xb73dee70	0x52c31bd3	0x0216f011
+	0x8f843803	0xbb328ce8	0xbafe6cfa	0xdc11931a
+	0xca78f5af	0x701901bf	0x0cb2f369	0xcf81f5ac
+	0x130df41c	0x4ebf5b97	0xc20e71dc	0x77c7db59
+	0x7514598e	0x076b8d81	0xb4455b6a	0xd39a43a9
+	0x1454ec13	0x16bf144f	0x873b8300	0x8cf24e90
+	0x06df232f	0x5d72ee57	0xe77b4ca0	0xfe7a93ba
+	0x71a6fe0c	0xcefb044e	0xfa41f121	0x0c736797
+	0x69d26292	0xa4571b00	0xb6cd7ba2	0xd088966e
+	0x13ba8390	0xabd689f4	0xa7348565	0xe153af32
+	0xd3af3755	0x3a291ac4	0xd0fed6e9	0xe76d077a
+	0x3fa5afb7	0xea870423	0x9bc02dda	0x0696570e
+	0xc528294c	0x8035bcb1	0x3fedf497	0x4e85da97
+	0x87834ad7	0x4cbc4464	0x7fc32e15	0x9f248783
+	0x74cc30fb	0xc004e66a	0x65b3e508	0x9dc7bf07
+	0xe70e9553	0x762c4e53	0x06377c76	0x415d95dd
+	0x4c74daf2	0x5492b248	0x2ac359c7	0xafd715ab
+	0xeea3bba9	0xdc21177d	0xb89b4364	0xdd3fbe05
+	0x5e2dc68f	0xc445c91f	0xe2a7305b	0x3b434867
+	0xd55f2fea	0x028f3861	0x8c5656d4	0xe2c04c10
+	0xaea45e47	0xe65651a0	0x6f67d97b	0x759d1fc9
+	0xa0bea30c	0xe62c32d9	0xbb57faaf	0x40207bd6
+	0x780de534	0x0fe4b81c	0x0735bbc5	0x25dc0c03
+	0x3909ff0b	0x1808cac4	0x520b8337	0xb9729f84
+	0x24fb3c1d	0xd82e0a5b	0x79f99b13	0xe9612c13
+	0xaee4bce1	0xb6c0f691	0x32d2c31c	0x9e6f92f7
+	0x86e98158	0x33643ab5	0x7617e010	0xb95bac7e
+	0x0e56bb41	0x74dfabea	0x3cf7749d	0x119b9839
+	0x875cadea	0x9327f3d2	0x1b5a9b8a	0xfcdcdd2c
+	0xbb7300f6	0x7b532fdb	0x0bce3f2a	0x93a79dac
+	0xb88f3690	0x342e1bed	0xefad0cd6	0xc31975b2
+	0x575a8a01	0xa524c868	0xcde65ef0	0x97a9c33f
+	0x735784e4	0x40498a19	0x45c63c8d	0x679a2416
+	0x046c9898	0x8e66cc4c	0xff503359	0x95dfbe22
+	0x2424bd50	0x2b882310	0xe4d6931e	0x55e4e1a6
+	0x2dbfebc6	0xe2b10c94	0x2ba0b6e4	0xbda3f610
+	0x78ccb9ed	0x15eca5aa	0xf3ef1825	0x7fff8209
+	0xb9ae92e9	0x4344502a	0xbe549a7a	0x459997b8
+	0x4c88c72e	0xcb6109f3	0x57879c01	0xc1e7d40f
+	0x79cbee03	0x52a5dfc7	0xb0a3e20c	0x11cc0682
+	0x634345d4	0xb1097bcb	0x4170bc95	0xa38e7f08
+	0xf89ecaba	0x37f4f748	0x50fd02b8	0x6b026dd7
+	0x8e9270f9	0x3c6bd04b	0xcbb680d1	0xe10f1161
+	0xfa3011fc	0x273f1915	0x66bea263	0x22ba4a11
+	0x73d679ca	0x9f88a3c7	0x40eed71e	0x974b512e
+	0xc1fe137b	0xf0054108	0x223fb47f	0x0fd0ae5d
+	0xd2352fbf	0xebc2229a	0xac38d629	0x25ec7169
+	0x1939d86a	0xc879b796	0xc7f8dce1	0x92b9dc60
+	0x3e5291de	0x936a2f7e	0x9b2d869e	0x24d0f8cd
+	0x1ba680c9	0x0c839619	0x0d69bbdb	0x26a3644d
+	0xb102adfb	0xec059a27	0xe2477ab9	0xc2e9f654
+	0xe5f257ed	0xa9cd346c	0xc0f22053	0xb9dfc03e
+	0x3f737368	0x791e3a80	0x5d6280ff	0xda55df26
+	0x8d5740e3	0x2a6d7113	0x83a70056	0xbb31a7f5
+	0x413f4612	0x5302ddfd	0x44f41d43	0x675b7e05
+	0x723af78a	0x2d833251	0xaf8419b3	0x3bc05d32
+	0xa9251294	0x92fdec09	0xa1346541	0xec186dd5
+	0x252d4e94	0x55a207dc	0x09e57c82	0x05a8198d
+	0xb970c263	0xa772c113	0xe625a4a9	0x780f80ed
+	0x5391fdc9	0x40f8e6ee	0xd37cf89b	0x35e1a4b4
+	0x8e2e14d8	0xf595c9f5	0xe457cb19	0x7da1c578
+	0xbaee8480	0x6626129b	0xb0e949b3	0xdfa72b6b
+	0x2df13902	0x041f7101	0xd7ad6d85	0x84a12d44
+	0x3c48863b	0xd77a0d78	0xc4716f33	0x5f6c80b7
+	0x8dbc331e	0xb81e99b9	0xc030f343	0x1395fa80
+	0xbbc472a9	0xaadbddf3	0x331f1162	0x62aa6ae3
+	0x329ef3ce	0x3c63ddf9	0xf74613a1	0xe6845844
+	0x2bf454d9	0x9349f051	0xe47c2353	0xedd3ad76
+	0x6e148e5a	0xefc1a92b	0x2c94fc97	0xc96ac0dc
+	0xa1b239d3	0x56fa2e07	0x5dce9da5	0xd99fc97a
+	0x151f4557	0x92d3b296	0x51c5adb2	0x472e3502
+	0xa2a9ca6d	0xdf1537fb	0x7497ee54	0x652788fb
+	0x3480f678	0x6226432d	0xd3196022	0x60af6d8e
+	0x7b9ba419	0xd510fd1e	0x48d5309e	0x5fc1c0d2
+	0x108a41de	0x0e9f8028	0x549710b4	0xc48d9ab3
+	0x36fc7bff	0x7e257815	0xd51cc507	0xd321681b
+	0xe12d9f15	0xfe39bede	0xdcc3ee34	0xeb20cba9
+	0xcd77b4a7	0x894b9283	0x2b5c1cef	0x5200e41c
+	0xf67270bb	0x5d104c61	0xeb64074f	0x22f5bbc2
+	0x37d8b7cb	0x88122de3	0x009cffd2	0xe772f72b
+	0x9c63f41a	0xc424e4ae	0x1464b37a	0xa6dda79e
+	0xcf89c39a	0xf23eba0a	0xf3f3a685	0x50120883
+	0xace33f54	0x53346d1f	0x3ce75d82	0x555040f6
+	0x4b458356	0x1d617f5b	0xbd6d29d5	0x6789cae9
+	0x3d787e1c	0xaf7dac99	0x69ae0efe	0xd5b62c89
+	0xc1b371a8	0x466c8316	0x4a1a399c	0x02d36ce4
+	0xcbdc024a	0xc69d6d8d	0x88926761	0x12a5d8b4
+	0xe01c2b8b	0x1e1991cd	0xe9aca0a8	0x49410f8b
+	0x426226d9	0x4b9d3543	0x6072827e	0x6037c39d
+	0x40e457d1	0x3361d4fc	0x7de4c8a0	0x68800165
+	0xc1e069b0	0x71bf38ab	0x4ab64b8c	0xc0acd6f4
+	0xe742be7c	0x46e21cee	0xed07ffba	0x148c7fe3
+	0x48c6a945	0x8a561bc6	0x3838c25f	0xcfed3d21
+	0x87451835	0x3a75912d	0x2ca7241b	0x5b252f6e
+	0xffc394b4	0xf4f62530	0xb933058d	0xe62195a5
+	0x09542e3d	0xdc5bbbab	0xf87bfd18	0x4a0915bd
+	0xdaee30b0	0x1c45049b	0x53057aef	0x8559c1b8
+	0xf4bd34ef	0xa70cc429	0x37ecbe19	0x5d2c0088
+	0x30c6e209	0x14d3f5ae	0xac2fce42	0x47b96c6e
+	0xe0b33111	0xefc61925	0x24554cae	0x401cca83
+	0x248148df	0x4d36387b	0x01987a6b	0x8f9ac8f9
+	0xf93718c3	0xf4c0605c	0x35600f33	0xbb57951f
+	0x01bd3ae3	0xd6b00ead	0x5c900933	0xbeafdfac
+	0xb3496a47	0x0e6d06ed	0xa69a4710	0x4aeee99c
+	0xdc59363b	0x710300bd	0x51643fc0	0xb2fa91eb
+	0x379f7f65	0x39c6e97c	0x098d6935	0x2a9d3085
+	0xd4df1162	0x5a2cf41b	0xe8671010	0xcc7d115f
+	0x328d3892	0xeea7d61f	0x573ec7e9	0x741a117d
+	0xee2ea628	0x3d1b983c	0x7f92a4bc	0x62025cbd
+	0x7ed34073	0xddb5d088	0x10139b27	0xcc217f9c
+	0x809352f2	0x6d1a1668	0x4ee31e30	0xd21e1f5f
+	0x6d37301c	0x176d8faf	0xa7768fde	0xcad1bb7d
+	0x24deebef	0x134a7f2e	0xcde8fd3d	0x409fff56
+	0x81b89c4d	0xdadf2ef1	0xe970a40f	0x4dca9906
+	0x948b6082	0x886f9c40	0x402ab8b5	0x3f3a363d
+	0x31c5f241	0x6b829609	0xf8923e52	0x2c6f3dc2
+	0x8b831a4c	0x0f847c9e	0x5dec8240	0xdd999571
+	0xe0e0bd87	0xcdabc523	0x347a64ed	0x622a5655
+	0x63a26351	0x29ff7cd6	0x5dd5dfa1	0x79996f26
+	0xde481466	0x10d4782c	0xb6e77d9c	0x0dc2853e
+	0xd0c81fd0	0x5f0bb987	0x27f4ef8d	0x9c23b96e
+	0x98fb2a24	0xa0e15d67	0x93fe17cd	0xe628130f
+	0xf2843acc	0x93bb57c9	0x4273a3fa	0x265976f3
+	0xbbee8aa4	0x52d8ef84	0xb3997bba	0x369525b6
+	0xeb7c39af	0x872c5324	0xc400f956	0x1cb37354
+	0xf4948758	0xe3096651	0x5a0ba8fc	0xfb69c499
+	0x312d8763	0xf3343ecd	0xe6fd3135	0xb3498520
+	0x5c854917	0x328b3eaa	0x1c840929	0x1c36fe47
+	0xfe0c3e42	0x56a8862d	0x3569f945	0xc22dda25
+	0xf84b1f5b	0x004dc57c	0x8a00a3e2	0xac699574
+	0x51039189	0x765e8036	0xc7afcc49	0x04842695
+	0x7b84b057	0x9c97f05c	0xcc79bb47	0x17dfb4b6
+	0x2fe652d0	0xe1498d3d	0x2ca8b3f8	0xb53ee5e3
+	0x1050d2b3	0xa2572be1	0xfcd3c334	0x70a15f82
+	0x1728b0db	0x6209c5fc	0xb44e5603	0x863332f1
+	0x96838397	0x36955feb	0x0d2da0a8	0x125e7d60
+	0xde2a310a	0xa351a181	0x6b228298	0x8a4d1cee
+	0x5e6b14b6	0x2f3a9457	0x3e9dc04c	0x74479b2e
+	0xd3d05a04	0x68d212fa	0x117406a4	0x4748ed39
+	0x41d5cd60	0x8dc01410	0x3ae6572e	0x70285c5b
+	0x83134014	0x1ef0ae5e	0x003e6be1	0x0b3ae0b5
+	0x39185245	0x5855200a	0xa12dd85f	0x35d08c8e
+	0xb8b9b054	0xe631c2b9	0x2008ecfe	0x8f3eb245
+	0x79b3a1b5	0xec1b3903	0xda6d57b0	0xcdee5055
+	0x25af467e	0x26d5f7ae	0xd97ec276	0xeea91eab
+	0xf261e901	0x3c981d7f	0xcd9dccbb	0x32136d85
+	0x9cfdb038	0x7fee83d3	0xf6e6d1f2	0x177663fc
+	0x0b6ed3a5	0x72670825	0x2cbb9cef	0xe4436641
+	0xc61f9d9f	0xb5c763d4	0x213a06bf	0xbbce6dc1
+	0xaf464963	0x343697e4	0xa2b3af13	0xf7fdd78f
+	0x6a460f6c	0x1b62c963	0x352ba307	0x91c830d3
+	0x66116773	0x280dfc31	0x302844db	0xdb47b3bb
+	0xc0ad1851	0x9979ba50	0x0083ba23	0x25c70fae
+	0x7c06b66c	0x65d20a4e	0x9848a1a2	0x295bacc7
+	0xe44c5837	0xfecf2330	0xe3ed6510	0xb1a48827
+	0xe694e108	0xa8a41bf0	0x17c797d3	0xfdae9b67
+	0x6f8ce672	0xc8d89a80	0x8f71f171	0xe95b2a4d
+	0x99f9e617	0xa6af87d5	0xa9160687	0x9d0393de
+	0x89bd4e6e	0x6528c903	0xa3ca2db1	0x6f77a5d8
+	0x9c377bb6	0xb888ea4f	0x06b81f7f	0x3c5c8de5
+	0x3bbcc468	0xcfaae47a	0x502a3f60	0x158c94c2
+	0x225ab827	0xaa630a68	0x77afe20d	0x19fde08b
+	0x171a5af6	0x81d81f8c	0xfde9be4f	0x69cd49b0
+	0xd83ff3c8	0xec30b85e	0x58621479	0xda1f95a5
+	0x0b1d8f12	0xcda765c2	0xb509d70b	0x76d158e3
+	0x7c9d02b2	0xebfd61e3	0x6e4d8ec8	0x8b779fdb
+	0x38d745b1	0x287a434b	0xf20a73ad	0x897e635c
+	0xdb9c36f1	0x12d23511	0x92f661bc	0x1e46d8a8
+	0x58d1f9e2	0x1f984e89	0x3b7d87ae	0xed74a89f
+	0x1c5614e3	0x1498a110	0x042704c3	0x287ba930
+	0x2f2a5122	0x5838d48a	0x85b720f4	0x2c99ed7c
+	0x893ab885	0xe1d9b760	0x0d097bfc	0xc0b1835a
+	0x2565db51	0x8b2c75c0	0x34b273ab	0x4e77c96b
+	0x95d64cf4	0x466a739d	0x32f2f18e	0xb993681b
+	0x2259c2e3	0xcd3c5fad	0x93b7a44b	0x56db345b
+	0xcc391356	0xa56659ce	0x9ab298d3	0xf756c870
+	0x9e8aa6b1	0x27f7ecfe	0xb02ecf08	0x3db06cfa
+	0x62225f46	0x0cbdc0f4	0x3660bc97	0xb600d787
+	0x47448beb	0xf2ec76e3	0x2f35cc41	0xaa07ac70
+	0xc8d7cfb6	0x3191df12	0xa35ed6be	0x5f6350a0
+	0xc92a1b36	0xe51e83cd	0xe67f70fe	0x2c30dc44
+	0x2720ea68	0x8989e2e3	0x1ee7a61d	0x25e49174
+	0x60370be6	0x4ad9f751	0x98269b55	0xe38875f5
+	0xa7dcebe5	0x8eaf1efb	0xaca785c1	0x75ef8dad
+	0x9c4a4e81	0x05b14e6b	0x94973929	0x8b0e51b5
+	0xad7d26fc	0x6028aca3	0x76abe148	0x2cf38c8e
+	0xf16de59b	0xe0e9ef73	0x14a157df	0xa487f134
+	0x90808475	0xc7c8fdde	0x507b2fa8	0x715be38f
+	0xe984cdcd	0xb86a2fd7	0x62996d71	0x41ae9aae
+	0xaf328519	0x6e26bd43	0xa9259149	0x43011256
+	0x8db13e02	0x666fcc5b	0x75850832	0x7a8967c3
+	0x533724bc	0x57d692dc	0x4b2bfa27	0xa94f1345
+	0xabc7f978	0x112a0629	0xdca1371b	0x99b30d9f
+	0x171c1e7d	0xba9c4528	0x715eb21f	0x824dad28
+	0x77b0faec	0xa8dba035	0x3026db98	0x5480ebd8
+	0xf6dcf737	0x9f01c720	0x505379b4	0xcfb68c56
+	0x8010d1ec	0xc0a022b6	0x0494af87	0x34a5e3bd
+	0x5f97db91	0x91c4f8ee	0x22c177a5	0xb3b3b38c
+	0x3b96b026	0x75e82ee9	0x6c25591e	0x79cb8247
+	0xb81a26a3	0xe9242a92	0x8427b5f9	0x0893338f
+	0x0d6869c3	0xec22cd57	0x5d7d4621	0x95cdac7b
+	0x8408d975	0x11d40c4e	0xf38fe7a1	0x088dbf91
+	0xa603a268	0xd9098a09	0xf8687105	0xba9e11eb
+	0x197b4e7e	0x4308d671	0x50b99383	0xc29a07bf
+	0xe1076808	0x22d410a6	0xcfdf5b6c	0x798c63b2
+	0xf8928203	0x59341208	0x9da6636c	0x7ea8b574
+	0x9c56d366	0x9ee85f63	0x27901787	0xf7fa83b6
+	0x11ec3148	0xc5866a56	0x1ac9faf8	0xc8600dcb
+	0xb4cbf815	0x6553c20e	0x408db234	0x30452ecd
+	0xa50638c3	0xac82df8c	0xc12e0fe6	0x281e6189
+	0x7f4d9cc0	0x5c12a79e	0x8da23fb4	0x8e495e59
+	0xbe52507d	0xc75d5612	0x7ca07018	0xffe33c48
+	0xe8a9c75a	0x30a3d329	0x8fda15ba	0xd7c53ea3
+	0xdd07d298	0x968dd723	0x594af13d	0x05593aa4
+	0x2fab8d67	0x3ea4294e	0x60c3d12c	0x1b2a165b
+	0xe3b5d840	0xe8f078ad	0x0bcf0df1	0x56a08b20
+	0xb99e6aa0	0xf119a946	0x1b3b1613	0x0691eae0
+	0x20a8c753	0xb864bd3c	0xeec8d111	0xfc809ccb
+	0x5230e148	0x968a3f36	0xbedb39ee	0x96ef8cec
+	0xd137d35b	0x4b336a7c	0x8fcf008a	0x65a4a722
+	0x7688912a	0x95b30531	0x8bd2df5f	0xa21f1deb
+	0x7c8288c3	0x11cb48ba	0x3604f444	0x56af95f2
+	0xe16135cf	0xa7b34be6	0x104db16e	0xcb94acf9
+	0x5e9be620	0xfbdf8d99	0x61a16de2	0xf1739a2b
+	0x177e6ccd	0x2d473093	0xf8b85187	0x10c7bdad
+	0xcd44645f	0x6a7a371d	0xe860523c	0xf631119d
+	0xaaa070d6	0x79668637	0xe9117794	0x42c496d0
+	0x9d294481	0xa640ccba	0xc1201582	0x5d86a701
+	0x1c935a06	0x10719c63	0x53889b4f	0xf0e56447
+	0xc54e8d83	0x95968c38	0xade37a4c	0x2fd5461f
+	0xb2e4cc0d	0x316c6c57	0x379cd5da	0xdb4510f0
+	0x5d71f2b6	0x10786416	0x6fcad2da	0x65f1908c
+	0x64aad9b9	0x08cc03c6	0x57ffa0f9	0xb12d0384
+	0xe12be67a	0x3dc91a85	0xd88ca183	0xb3b3512c
+	0x5b0d71c3	0x1389ed0f	0x99b6823c	0xc263b6d8
+	0x7e6a18ed	0xc74c9223	0x03e92612	0xc3b16895
+	0xebda3f4b	0x76d79b51	0x6b41a791	0xe838eb87
+	0xf80aa3dd	0x49dc8f9c	0xad7dc06f	0x0c0e6e03
+	0x9a533db8	0x51d66b1e	0x5415c797	0x9645217f
+	0x34b8dd97	0xc100b64a	0x6d2de029	0x4f7e89fe
+	0x8292bd52	0xa4309ad5	0x4a6651a4	0x4e67eaa8
+	0x97e27f87	0xd24fdbbe	0x367ec769	0x5704cfcf
+	0xc48e8c08	0x56fe9fe2	0xfb85f4ed	0xb0c68432
+	0x226d73e7	0xa1ce4c14	0xa50f188a	0x33f003bf
+	0x273e59ea	0xee1a3901	0xcf20c176	0xef66122e
+	0x197b9e36	0x4d866dc5	0x9cf4b530	0xd56ac309
+	0xf91f0f44	0x3143dae4	0x61ba2ac6	0xab3e3241
+	0xb070fe2d	0x8c7ed48d	0x9cdd506b	0xd052fe76
+	0x171287b1	0xed3fbd70	0x98f23794	0xe881dc63
+	0x916d5bcc	0x5a5d405a	0xf450ef75	0xc99b0ee3
+	0xfc1f0b8a	0xe05e94d6	0x1f0da54a	0xafc412bc
+	0x838546f2	0x7913cd41	0x029b6992	0x00bc4c0f
+	0x872c237f	0xda6114b3	0xc18ab867	0x437cfde0
+	0x33aba1cc	0xf87d202f	0x571b233c	0xd2ebc904
+	0x5efca706	0xa7d9aaa6	0xdc03ca11	0x1b5a00af
+	0xf85427bd	0x5329e108	0xae95f78d	0xf38e0d3c
+	0x8f976d3e	0x36474f32	0x8b96a672	0x2f5fb1bc
+	0x2c12ee75	0x348265d9	0x69ccbab1	0x852631d1
+	0x71a08001	0xc6e3ed3f	0xfa9a584f	0xa3e98596
+	0xd6730da6	0x41300caf	0x7b5fd490	0xc9158337
+	0xe02ed753	0x605b5f9a	0x684b6cfa	0xd8186840
+	0x1026e9c3	0xd8550587	0x37d7fcda	0x140021ca
+	0x13effe78	0x6f3184ca	0xa8f8ba37	0xf56a5c29
+	0x502f4ba0	0x36901ba0	0xdf60a738	0x6afeccf9
+	0x206e4e7d	0xe763e575	0x9e3dd2e8	0x574c3bd9
+	0x2b9050d5	0x36b1833e	0x018a432a	0xa544ffcd
+	0x94d11277	0x350c57f4	0xbde9ee5f	0xf2c634ee
+	0x826933e0	0xd807dd5a	0xe9ce6b4e	0x380419d4
+	0xc48514fa	0x9fec960b	0x612b53bd	0x3bd0f68f
+	0xa8b9573f	0xee1af1a4	0x5ba43078	0xdc4433e6
+	0x09980221	0x84e2b562	0xd0685c82	0xc821e22a
+	0x2f591314	0x36cd6cf8	0x95a584ee	0x85ac1c0b
+	0x8e1c4d17	0xfdcd3aff	0xf59140ff	0x990cecb2
+	0x5a86b9c4	0x0be7961b	0xd10cf022	0xda4e0039
+	0x0d42ac7d	0x6b6068ed	0x595b338f	0x8e66fbd1
+	0x5d76290e	0x1eb1d30d	0x02681d5e	0x675f48a9
+	0x3620fec9	0xcbeb129d	0x9d0d7d90	0x286b7f46
+	0xc96084b6	0x001d009e	0x5e0d3f04	0xfdc775cb
+	0xfdc6f6aa	0x4f29084d	0xf8fbd3a7	0xf859eb71
+	0xa7e37df0	0x9efe5fef	0x2f611654	0x7061f5ce
+	0x50f95714	0xcca9c4b2	0x72262846	0x376c21bc
+	0x4edad528	0x5d241145	0xf2dc8615	0x9ac9da86
+	0xbc5e3211	0xc6df5283	0x8f1346c8	0x52479029
+	0xa38fd13b	0x7b81167b	0xf7f2eb16	0x09e4675a
+	0xa4cbab39	0x4aaf12e8	0x0d156c19	0xf2ee198f
+	0x857661d4	0xa39f33fb	0x6f500373	0xdcd3aab6
+	0x5e4d97fd	0x8184eb1b	0x1e00850e	0x56037e60
+	0x1f5c2839	0x5fdd3d3f	0xf5462ad5	0x9e96d752
+	0xe1499fe4	0x30571868	0x895af53d	0xd37d411d
+	0x4a1a3461	0x95c4f0b0	0x5ead887c	0xf53803ac
+	0xf3cae670	0x09f151ea	0x102cfa3e	0x5784433d
+	0xcf581826	0x476cfbb9	0xd1489eb6	0x68f4727a
+	0xc4dc85a4	0x9094832a	0x0ff6725f	0x7f1f40a0
+	0xf771d9d9	0x13c2b620	0x75448c8e	0xfec2bfc1
+	0xd707e400	0xabd5b0ff	0x71753ced	0xd4e9fcf6
+	0x2a4ddfd6	0x2719afe8	0xea8dc6a6	0xf75ea39c
+	0x619a0725	0xab1110a0	0xbd63041e	0xd839bb8b
+	0x693bfce2	0x989031f9	0xf621e105	0xedcbd708
+	0x0cb4aa8d	0xf1ccef16	0x06894709	0x0aff3a4f
+	0xdefe2281	0x2ad64edb	0x349b9733	0xe062b7f4
+	0xc8aa62be	0x36a184f1	0xcb918d5b	0x844ea7ef
+	0x78585466	0x80139ac2	0xe45b2b11	0x973f0a62
+	0x5dea255e	0x916925c0	0xc9578efa	0x3ca7eb07
+	0x36c02e4b	0x89cfcaa3	0x641b07ad	0xf9e7197d
+	0xdbda750c	0x447f1191	0x690f7c39	0xd7e9a602
+	0x6edd8896	0x2b03daad	0xbd288f1e	0x7f70057e
+	0xc8567673	0xaf74fac0	0x37e31aea	0xd992d754
+	0xe8211c22	0x3eaed525	0x88fc8ef2	0x2f41b02a
+	0xf3c07f7a	0x3777c91d	0x8c3ed230	0x82c64da4
+	0xdeff0362	0x2768503b	0xcdbaf18e	0x9a45ccca
+	0xe92fd6ad	0x72a71f75	0xc5bd6f66	0xbeb4d59a
+	0xe99415ab	0xf7dd10c5	0x0db15260	0xbbac9f71
+	0xa3e434ba	0x40fdea27	0x50eb8c40	0xba26f675
+	0x2ce865b0	0x748ec966	0x6490f9fe	0x01dbda28
+	0xd4dfed39	0x645fb3b4	0xcdcb9de0	0xccd7fcb1
+	0xd0dabcac	0x60fd0fbd	0x168d9289	0x270ecd39
+	0xe1ca48ec	0xd242edb6	0x95ba25a0	0x34ef7dc9
+	0x39b20624	0x4aab3814	0xf6fffa0c	0xe6f18c9b
+	0xc579ea88	0x3c29d3cc	0x15358dc8	0xe2ca0595
+	0x067a5f59	0x98ac44bc	0xf92ecfdf	0x2a8f2847
+	0xc7098327	0xf770c58d	0x65247164	0x2356f75b
+	0xe38ee36c	0x19bc57bd	0xd1432cf8	0x4c343d9a
+	0x800294b0	0x41906df6	0x211fb5c3	0x13d372ca
+	0x8649cb8c	0x54a6908c	0x12b21839	0x188da49d
+	0xf026020b	0x9dca39f3	0x1b85ad7f	0xe16f849f
+	0xc74d6d14	0x1542b72e	0xe2e21a4f	0x13c01264
+	0x1af57985	0x15d69f66	0xf0475b50	0x791db250
+	0x16c4cd65	0x6aa3172e	0x50627731	0xc050f139
+	0x8690135f	0x6b2d53f5	0xbea8c582	0x770e5dc3
+	0xc6f1e36f	0x532b5b3d	0x5f513746	0x16a84ad7
+	0x1d429215	0x84b0905f	0x98a47e1b	0xc8b47605
+	0xf67fc56b	0x862e5696	0xeaebb6c7	0x2cd4dd80
+	0x7a2345d0	0x89f02a31	0x757d6bfa	0xe1532bd7
+	0x0eaea9e2	0x4a00dea0	0x54414e43	0xf1b723b7
+	0x84b589bb	0x17b823cf	0x885e8430	0xc658beb3
+	0x7251da37	0x9c6c0c94	0xd6237fde	0x7526c254
+	0x7abe9c40	0xc815aa39	0x5c2359f8	0xd2ccb88a
+	0xd72c3593	0xb5bac7f5	0x500d5980	0x63d1e5d6
+	0x43f2fd4b	0xd4e7a58b	0x682c83c0	0x372647da
+	0x897844b5	0xc8f43767	0x52c95bd9	0xb134d1e1
+	0xf4dcf340	0x0418a91f	0xd5f53498	0x8960aa3b
+	0x559e959d	0xc9465034	0x92f87c38	0x030bad59
+	0x535a65f3	0x2a77f8e5	0xdfa3bb3e	0x1cfb0e7b
+	0x745c3e85	0x4adb107f	0xe0ad43e6	0x2d2d7110
+	0x1d2f4281	0x2eba0483	0xf1741ce3	0x872c33d7
+	0xf43039d9	0xfe974a77	0x5bdb65de	0xa9ae81cf
+	0xd950f31d	0x4f9dba1d	0x86c23a69	0x091cf111
+	0xe658a751	0x84a91276	0xcd95d552	0x28e6ca41
+	0x49f25055	0x63d4b350	0x5bcd4eb4	0xca30011f
+	0x80c53e84	0x09bd4736	0xbaab15c7	0x240a5c91
+	0xc78d09a4	0xe65699e7	0xa53f862a	0x4dab9d76
+	0xfa9a9fc3	0x59603e35	0x2ac717ca	0x46b604d5
+	0x6c3f7387	0x8b036d97	0xf2e656e8	0x3134f9fa
+	0x07e4c866	0x5ffe4c6b	0x0b66f7d4	0xf70ec6ae
+	0x70a34f65	0x5b899964	0xfa6d75c8	0x1201342b
+	0x6a97079e	0x265e17b2	0x68c65a50	0xff89ec35
+	0x1dd400fe	0x442463d3	0x28255bc7	0x0b59c045
+	0x3184409c	0x22149a93	0x46c4e731	0x79f055dd
+	0x37f63a7e	0x7e756b2f	0x215965e0	0x50d6830e
+	0xecd76722	0x7ccf6440	0x7f35066a	0x6ae5b23d
+	0xf1b3d97b	0xc10fb8f4	0x1dc8a180	0x560fde50
+	0xc309b2d5	0x67f045a3	0x1c9b5b82	0x5a58d04e
+	0x1605cbe6	0xb39d46e7	0xfc73771c	0xb27cad4e
+	0xb11e103c	0xfcf832c7	0xa445f737	0x63704126
+	0x542bdf70	0x4a134996	0xdfbbb48a	0xd46b0c8a
+	0x658504f0	0xff3a73cf	0xd6a37646	0xc76bd82d
+	0x7f590e8b	0x45168edc	0xbc980f1e	0xb74cbd25
+	0x8ed51cfd	0x42e86550	0x098d3dca	0xa1c667fc
+	0x4a1cf2fe	0x6dac04c6	0x0c06311a	0x56c5ee6b
+	0xae2fef37	0x3077ed34	0xed2b3c58	0x704796bd
+	0x8d4b9dd7	0x58e93741	0x3d954ff6	0xdd2514b7
+	0x4bd6d974	0xd6e0f1c5	0xcd38a25f	0xa5315745
+	0x982505f2	0x16c78771	0xf03bf442	0x8433c49e
+	0x822b13a7	0x5e52a287	0x3e837cc4	0xf5246300
+	0x62235c2a	0x4286917f	0x92694b91	0xc149428b
+	0xcee47250	0x1073ca49	0xadfe26e0	0x39b7b1bf
+	0x0980b264	0x460e0f79	0xb747c221	0xd2280e13
+	0x6ebaae7f	0xbf5e4fe1	0xd83a06ae	0x15607146
+	0x9f80aee5	0x9d3d1ea1	0x3ac75973	0xbce15424
+	0xd3afad28	0x60b00359	0x15b1f6a2	0x860dfc81
+	0x3a3aced8	0x17e60cf4	0x628de10b	0x6226cf18
+	0x94aac94b	0x04e89e23	0xd647af9e	0x34fac1a0
+	0x82107a58	0x5ff06089	0xed899a38	0xa95fc727
+	0xfed5f0e1	0xfe6db6fb	0x495cc0da	0xa36d9c65
+	0x9ae386d3	0x091791a6	0xca9619dd	0xd1b1681b
+	0x283ede9d	0x54684259	0xdc0ab403	0xabf2d823
+	0xf2705407	0x48857264	0x5a49666d	0x8d73c4cc
+	0xc6d6c23b	0x924b2fc1	0xbde8db0e	0x6be302a5
+	0x13d38cee	0xab9c5a5b	0x6e3f151d	0xc68ebac7
+	0xcab34c09	0xdd0b5340	0xd7599b20	0x5c05e5fd
+	0x58975ebd	0x253b9809	0x90044065	0xa34a0b9a
+	0x7b98fa31	0xba00d0ca	0xbda6fa17	0x97937eb1
+	0x43ab04a0	0xa85e1fa3	0xe732c720	0x43113659
+	0x80e21c8c	0xc1593d8c	0x5304dbb0	0xcdb37507
+	0x99895f48	0xc1018047	0xeaab54ed	0xd5326d76
+	0xc1371a9c	0xcfd263bb	0xf9ecddc0	0x2381b427
+	0xac78b897	0x46bd1bc4	0x0b7f5dfa	0xe55ac354
+	0xd98b29e1	0x7fb53225	0xadf7fd1d	0xe7f42f6c
+	0xe42b58fa	0x31ba8f85	0xea3d049e	0xacfac52b
+	0xa50181c1	0xae6a0de6	0x16cf1122	0xa5aff99f
+	0x9d1102c1	0x10f11ca3	0xabfb8005	0x9911353f
+	0xbb430261	0x81c1400d	0xe01c0343	0x038b2e46
+	0x3f919f9d	0xc0e1c884	0xde6272fa	0xc25d6ea2
+	0x72e18fb7	0x88b8b150	0x8e85cd62	0xf0e1d37a
+	0x96ef1ce2	0xe32c8193	0x1001ff2d	0x9964ec56
+	0xbe8aaf70	0x1a416fea	0x1eb92b2a	0xa3578712
+	0x9504cab3	0x77e975ba	0xc491748c	0x3080c466
+	0xc8418a02	0xf44d7998	0x77051bcc	0xff646682
+	0x6082eb7f	0x2886a8f3	0x88315209	0xa7b9fab0
+	0x6f6c2b63	0x2aeb4634	0x809011a2	0x2df48429
+	0xcb39f8a6	0x6b879cb1	0xa7b47618	0x09b8666d
+	0x706ab210	0x0864689c	0xd1ca3fd0	0x69c1e584
+	0x5212526e	0xe1a9c5ef	0x5685d88b	0x5382bdbc
+	0xf8d5bc5b	0x8e8ded9d	0xc8cc93c5	0xe1e226f0
+	0xd2c17da9	0x23cd104c	0x4362ff2e	0x88a7a9c5
+	0x8a2e8873	0xd0581d74	0xfa1d8084	0xa9829395
+	0x31a382e8	0xf423acba	0xbd436f3e	0x00ed9514
+	0x964d6ea8	0x45e530cd	0x7b067f2d	0xe758fa63
+	0x82767a73	0xa5e5d959	0x83adda38	0xca815b70
+	0xca2eb490	0x879da759	0x3af36316	0x1c398e43
+	0xb7033303	0xde77c60d	0xa0e83068	0xa072c077
+	0xd038adcc	0x979aa6f3	0x4ff53908	0x1fcdb043
+	0x83ccc713	0x38bb8a83	0x185cb8be	0x32594da1
+	0xb5771673	0x9b371c9b	0x71554d0c	0x353452e0
+	0xeb17922f	0x86f610e5	0x219706c5	0xc2516c79
+	0xd9f1e5a5	0x4e71dd96	0x19acd081	0xcc9e8fb7
+	0x3cdca52d	0xa8eaf0b7	0x677a8883	0x29afcfeb
+	0xbe65bf18	0x578d900e	0xce1f20b0	0xc0464b95
+	0xd8a7b365	0x153ca5f8	0x338f4440	0x725fb123
+	0x0266fe31	0x20afb681	0x6ad3e79a	0x4b0fde5a
+	0xd482ceef	0xfbebb20d	0x9ba0e25f	0xad5e0225
+	0xb8a55ac3	0xa1823693	0x1ec05e62	0x5f0bc17f
+	0xd45315c1	0x581d4f7c	0x71d0fc2e	0x7ab28236
+	0x2058473c	0x59778cad	0xa31250c4	0xf5ee4b70
+	0x0182f25e	0x093d224c	0xc0e2a624	0xdef1a681
+	0xc3ac2477	0x684485dc	0x248b6733	0x2154c4d0
+	0x48125445	0xdfcc6d53	0x98648e66	0xad47ff70
+	0x98de0ea0	0x705b6663	0x585c82f5	0x41fc7750
+	0x0f9302ac	0xd84db157	0x5473b3af	0x47fc75e1
+	0xfd70ad9f	0xf8ac1ad3	0x2d44d472	0xd2efebac
+	0xc012bb8c	0xaca62095	0xb2909db6	0x71f0cd19
+	0x10f22608	0x7d2bc553	0x6a422ca4	0x5d8ca05e
+	0xbe2c2447	0xc6c7e0bf	0xa497d984	0xc647d81a
+	0xcbedee3d	0xf32ffe2c	0x6162e640	0x41f69600
+	0x91244338	0x95609997	0x8d238396	0x66e7a884
+	0xb12cdbc7	0x47161675	0x51ecf757	0x3c82038d
+	0x031421db	0xe2ef93ea	0xa68873df	0x039e0c25
+	0x5572321c	0x9df1728d	0xe6ed57c0	0x57a039f2
+	0xe31b3be2	0x55715ed2	0x59d600a5	0x3ba7f734
+	0xa429f7da	0xff7ddad3	0x1ce287d9	0xbd308541
+	0xa6b20324	0x1fd4c741	0x9244413b	0xd914325e
+	0x486a10c3	0xaba191f0	0x09cd2579	0x6fbd86d3
+	0xf9eaabea	0xcbc6a11f	0xc97eff2e	0x604949d5
+	0x73208a00	0xc5640d64	0x75fd1830	0xea2841b2
+	0x3efcac7d	0x3f2be687	0x9737b5a5	0x7846b723
+	0xfeb5d90f	0xbf9b347e	0x94629b88	0x0e0bd993
+	0xeaa3a0e6	0x92758d2f	0x06b4a92c	0xee31d291
+	0xcf91699e	0x39b5a732	0xb63b660a	0xc5ffeaa1
+	0x90833668	0xd1995d7a	0x84030c26	0x62b1ca49
+	0x7efa5144	0xe7288b77	0x6230a776	0x1be6a7db
+	0xd2a0bc0e	0xfb36d845	0x261fb4eb	0x8f8fc434
+	0xfb833fb4	0xc7474543	0xda6c6a88	0x1659bb4c
+	0x9194a11d	0x071154f5	0x82d51f58	0x63a2f751
+	0x46f7a823	0x04974444	0x360cdcdc	0x7452e132
+	0xc9a98443	0xd03ad3ab	0x30dc5c84	0xd3928173
+	0x38b6e6e1	0x0cda2c1e	0x4cd9d2bd	0x59cfadb4
+	0xbf73f35e	0xfed1a2e3	0x7c7f7fbd	0x9b5129a3
+	0x780f877b	0x2104f056	0x90bdc3a4	0x9ee71bf4
+	0xd28d3305	0xad550ee2	0x3c8f4067	0xfa0dd7e5
+	0xd625f145	0x3b5cd69e	0x645db568	0x5e56c683
+	0xfb1f1f24	0x2bfe72c3	0x0cdb2809	0x9404915b
+	0x120d6624	0xcfe55309	0x0b978365	0xb4a25446
+	0xb26e8767	0x83c6e6a8	0xaebacb46	0xd79ed05f
+	0xd4d07268	0x1bb3faf1	0xde8dbf0f	0x2e7ba152
+	0xabc0ff05	0x6ca54fc8	0x51acd5dc	0x65a18671
+	0xa619f93a	0xa84535c1	0xa0ede59b	0x6bd55a4e
+	0x5aba8fb8	0x01cc90e7	0xc3eea3cd	0x0f503e9b
+	0xad697d5d	0x6021cacf	0x70dd0dec	0x11d7617f
+	0x19e6864a	0x6b252ab4	0x6820dba3	0x9db53d55
+	0x1108f4b2	0x71aeae7e	0xdff9a4fa	0xa724e0b9
+	0xefe50832	0x91ea4d28	0x4f02d339	0x15e0212b
+	0x2c725507	0x3de817ac	0x4fcbd836	0xf9484b90
+	0xeb9ebf31	0xcfd90e4d	0xd3d6a071	0x3dff27c3
+	0xb891858e	0x99daaeeb	0x3dc5528e	0xb2fea196
+	0x2724ae08	0x6c5845a7	0x184faafc	0x44446f10
+	0xe9d1537d	0xb0933101	0x9229e352	0x4f426c82
+	0x98147850	0xca22c0fb	0x4d414090	0x981ac8f9
+	0xb8d034af	0x6b8aa278	0x6508c7b7	0x6293fe73
+	0x66f15617	0x0679cf83	0x6a58257d	0x4deae251
+	0x6e19dc6e	0x899db947	0xcb261cce	0x9c8d3929
+	0x64a097e4	0x38acf6ab	0x07beeeb0	0x9ba17f04
+	0x6897fa21	0x1445cb4d	0x6d79f51a	0x83661214
+	0x812f8cb4	0x73a15a75	0x5d9edf24	0x490b66b2
+	0xf503c382	0x9a7b92bc	0x8367b4d9	0x8df42ea5
+	0x790dc812	0xe8a51197	0x1f9ec3e8	0x0fe9d551
+	0x29facbeb	0xaaa131a7	0xc0ce9784	0x3f0b2412
+	0x63d56d18	0xe2ca7aef	0x35f66550	0xe49095c1
+	0x8d8531f1	0x815ca696	0x18f31b28	0x39a102bf
+	0x96bd3241	0x1b79f65f	0xb5750fc0	0x7e41b1aa
+	0xe7c7e0f6	0x294a848b	0x0d90877b	0x87c42915
+	0xd5839e6e	0x00635ed9	0xc51b8d91	0x34e60826
+	0x08082536	0x3550eed6	0xc78b127e	0x2f428ec3
+	0xaf95830e	0xb0c8fb6c	0xc0b5e989	0xb45d0020
+	0xce6466e0	0x8e244ba2	0x17ef4563	0x2c74b037
+	0x8d15449e	0xa96ad89d	0x0672ebbc	0xf5a037f4
+	0x633b2cd2	0x82d1cb6a	0xeae7ab21	0xfe156394
+	0xb223326d	0x6bf37192	0x349934ac	0x747e4995
+	0xfff3f992	0xe916d599	0x95917b72	0xd3e810ad
+	0x704231a5	0x041ed2f0	0x32cca85f	0x2ceb1663
+	0x80d3e7c7	0x901d33a6	0x18a99b15	0x21b50c44
+	0x295e5a16	0xceab5147	0x503b6e34	0x732a4fdf
+	0xb6b38684	0xa1317fff	0xb76492ef	0x88e7eda4
+	0x5ccde55d	0x7448f240	0x12d3436b	0x6a152377
+	0xff0b0448	0x8b124b95	0x55321a93	0xed4229ef
+	0x7ea05a46	0x992eb553	0x5f2d7278	0x90dd258f
+	0x6ecd1946	0xab971c70	0x3d341faf	0x49855465
+	0x1973c8cf	0xb5976088	0x6640e00e	0x155dd9f3
+	0x674285a8	0x720515e1	0x5fdffc94	0x0d3a3347
+	0x1dbfe5ff	0x7079f37e	0x8c470652	0x46d6c1e3
+	0x1402e1b4	0x05217695	0x67e45039	0x683ba960
+	0x97cadd4e	0x59664501	0x4726c2a6	0x7601358b
+	0xec77b4b9	0x66a912a0	0x8f157d86	0xa0e221ba
+	0x3aa4bd23	0x547e9323	0xaa94772a	0x1ba6ac0c
+	0xbed2aa6f	0x8a945e94	0xeea5c775	0xf2c66a89
+	0x89ebde2f	0xd7b4e71c	0x6a1c8bb3	0xb9392201
+	0xc7a2191f	0xf180c19a	0xc3446d78	0x7f5f61c8
+	0xc6a251da	0xa27c507f	0x329133a1	0x0c951593
+	0x344ca56a	0x329dea98	0x73112997	0x32bc47a4
+	0xbeb18227	0xd3347aaf	0x1c481ab4	0x62606e69
+	0xe18da26b	0x8243c025	0xfe05b066	0xc1b0c590
+	0xd8c107ba	0x235b8c6a	0xac4fe894	0xa012810b
+	0x5470e6de	0x6f1217ae	0xcb099ad1	0x2b03655e
+	0x91f0b417	0xc21a1af4	0xb4a8c50e	0xa5988ed2
+	0x7f03fa1e	0xa0658a65	0x5532c4b3	0x1fdcfcec
+	0x17f41c26	0xd6b29efb	0x3411f331	0x1b774029
+	0x2ee2d094	0x9f5edaab	0xc644a9f3	0xdc4cf7b1
+	0xb6304748	0xb064cfca	0x89e4dbee	0xb1563a5e
+	0xd370bca8	0xe6cb17d8	0xbfcacc87	0x76940250
+	0xf2456a18	0x3c1873e4	0x0a3d7d0e	0xeb145eb9
+	0xe88a48fb	0x9413f290	0x626e4e00	0xb234a13b
+	0xcbf49379	0xcf600cee	0xc78891b8	0x799f8e80
+	0xdbf4e604	0x89860862	0x04fb77db	0x0fb1bf13
+	0x3b1aa906	0xadaf9a45	0x48526bf7	0x09d8ffb3
+	0xce751581	0x00e35b8d	0x0549e629	0x6d3cc316
+	0x3d8f300a	0xdcd790b5	0xde1ca316	0x737d5f31
+	0x171b2646	0x4798a85d	0xea36f650	0xcf889098
+	0xe4ec65b8	0x944637d3	0x019c8103	0x5fbdc21c
+	0xa61ebe77	0x74ea95a5	0x258eb8d1	0xf8c8c4d6
+	0x9a1edc66	0x9118b309	0x639ae9b5	0xd0c40735
+	0xc6ddec32	0x36d26a75	0x86018c99	0xe8bf66df
+	0xf345dba0	0x780670a3	0xe34e60fd	0x733ad4ba
+	0x2ef04d54	0xb1b9c41f	0x84cca1c2	0xaa09279b
+	0x34797d41	0xb93d4c70	0x919ce970	0xd0d6ec5e
+	0xdc70cc95	0xd89f4680	0x458cfd33	0xc257784b
+	0x29ec9364	0x8e717417	0x6d9732df	0xa3658440
+	0x8574b5c6	0xa58ebb8c	0x81bc4dea	0x1f396663
+	0x361dfd98	0x20b35a46	0x886a7e4c	0x69f0a1c5
+	0xd0b7de5f	0xbbc08761	0xa1cef991	0x084a8ea2
+	0x4df68c5b	0xb84b4b2e	0xd4bf1770	0x94b4f7c7
+	0x9906a752	0x878c7f1f	0x385b5a5e	0x99147c87
+	0x97c54a35	0xbacb57d4	0xf85f9733	0xb5d2c83f
+	0x4405f9f5	0x020260b5	0x5c0a8556	0xb623ad79
+	0x8d42a6a3	0x35ae5806	0x2c28a60d	0xa0200ee8
+	0xed9e0ece	0xb7e0442a	0x1ddf0e2b	0x26ceec5d
+	0xda397b2c	0xb073d9a2	0x9d856bbd	0x06e35ca8
+	0x6296193e	0x292dee18	0xf5a9bd7a	0xb62fe73f
+	0x95a8775f	0x1efc0fd0	0xf3338af4	0x06ccbe78
+	0xafb3f669	0xd9f7fe16	0x09beed63	0xa2f0bb3e
+	0x02f5c52f	0x24aee650	0xf715039b	0x3f566d89
+	0xd575429b	0x9d40207d	0xa89c7de9	0xde5157f0
+	0xd79025ae	0x4259c4b6	0x61e86217	0x6d2e3273
+	0x57b5c99d	0xa18edb02	0xf5f314be	0xfa58bf5f
+	0x581e95bb	0x04967c03	0x9187d903	0xdaf34bc3
+	0xa18e49f0	0xb7973963	0x2984967f	0x7332f94f
+	0x57e5a8b5	0xe6e0a6f8	0xbc08c39f	0xc9e73ad8
+	0x0ea113d8	0xa9cfdb06	0xfda1ebbb	0x1a30e9f9
+	0x69a9029a	0x44b43320	0x04182d93	0x00220972
+	0xa7f984c5	0xb4eeae8a	0x11718517	0x06e70840
+	0xb3091fe5	0x099ccb1a	0xac3df88c	0xa8bd0ca3
+	0xa202bbc0	0x19979cf1	0x8656c385	0x139abf7b
+	0xae298ea4	0xab9481ae	0xe08e2c38	0x27967dab
+	0x1108054c	0x1ba0d3c5	0x8a0fb923	0x9c54f682
+	0x5f363a46	0xec564b34	0x8d53c918	0x47f39642
+	0x3fd68743	0x197f16cc	0x2b03d11c	0xcc574d53
+	0x8b2d1aa3	0xd403c5b0	0xce21d3a6	0x57c88abe
+	0x56d6b12b	0x204f9ac8	0xfd44c338	0x18417de6
+	0x5582f0bf	0x7ea9d04f	0x7bdee65d	0x9fe3f5b5
+	0xa14edd82	0x8301f6ba	0x24bc737a	0x5c6e71a8
+	0xdb0d7fc2	0x243b6e99	0x3941f113	0xcaaa3674
+	0x1b25b686	0xfb219a33	0x1b122757	0x27298223
+	0x44cbb8ad	0xed4e6ef9	0xae338c2d	0xa8d231ee
+	0x9bc2d8f3	0xcecd4d27	0xe8ba9908	0x9a106344
+	0xbdf27147	0x0c547009	0x46b16833	0xd89b0690
+	0x4b742f40	0x733d4cd5	0x1abb6f77	0x803f40df
+	0xf8d909bb	0x8fa6a921	0x08966531	0xdf093174
+	0xc7ee92c8	0x4272612d	0x149f8242	0xf8c07ec3
+	0x99259781	0x8bf3f9c0	0x09d6b679	0x19a1968f
+	0x735b197e	0xa98c913f	0x3e208a56	0x59b2b40b
+	0x0ed212ed	0xfc92d02a	0xe9b1b441	0x1429fc3c
+	0x8a6fb38c	0x6235d73e	0x82f5aca8	0x9ebb490a
+	0x718fed05	0xee355cdc	0xf34bbc8e	0xcfde74ac
+	0x5c267a70	0x30b66c7f	0x9a655781	0x1d354268
+	0xd0debf01	0x71798948	0x4542b707	0x66c02ecf
+	0x49763e11	0xa02f170b	0xbcf30ee9	0xba9bbfec
+	0x6d915d18	0xcadd484f	0x8eadbd10	0x91463818
+	0xe8add34f	0x55620c30	0x14d47fa5	0x63c2a25f
+	0x7213f2f4	0x6d96a516	0xf10f4ed1	0x9825aeac
+	0xe9ca9b8a	0x4bb0e2aa	0x957f8851	0x1a41de29
+	0xa0039e6c	0x3ec63393	0x66b6ac8a	0x2992d983
+	0x2d73caa4	0xb0ae06c2	0xa4008915	0x2ba7050d
+	0x6d9e01e6	0x908f316f	0x3f17dabb	0x8c86b0e3
+	0x89fcebf8	0xbada4307	0x0f6e9f6f	0x07f36992
+	0x1a82520e	0x728f11a9	0x418aa9b7	0xc57f51d7
+	0xcffa1cd0	0xf9f6d902	0xdf22329a	0x4ac48293
+	0x37326e23	0xbb39c187	0xc9086dfe	0x1347e4f8
+	0x7ae88ecb	0xc280a07f	0x7f0a6b0a	0x57cff37d
+	0x2dfd629d	0x5a8a444d	0x934bcafb	0x593b6a3a
+	0x9c62c1ca	0x0ecdb2dc	0xb4c2fd82	0x2c19c0ab
+	0x26acf079	0x71aa1041	0x8aeb2595	0xed90f704
+	0x7d68f5c5	0x624429d5	0xefd0d147	0xc8682f79
+	0xfe7e9cc0	0xaee6c970	0x33e9231e	0x4720df4d
+	0x6a3f6428	0x463b676f	0x71960ee6	0xc684d974
+	0x9f01a6d2	0x728cbec7	0x2e20d715	0x172a4a11
+	0x4153ad1e	0xb1f36e53	0xc277f818	0x94ac6d39
+	0x502f91d8	0x3028b1ee	0x48390347	0x45a8b5af
+	0x2cb8095f	0x063cbe4a	0x07a53b3b	0xcfd08c80
+	0x81679803	0x9fa4726a	0xa682f4c8	0x4d90e8bf
+	>;
diff --git a/arch/x86/dts/minnowmax.dts b/arch/x86/dts/minnowmax.dts
index 60bd05a..936455b 100644
--- a/arch/x86/dts/minnowmax.dts
+++ b/arch/x86/dts/minnowmax.dts
@@ -117,6 +117,7 @@
 				compatible = "intel,irq-router";
 				intel,pirq-config = "ibase";
 				intel,ibase-offset = <0x50>;
+				intel,actl-addr = <0>;
 				intel,pirq-link = <8 8>;
 				intel,pirq-mask = <0xdee0>;
 				intel,pirq-routing = <
@@ -297,10 +298,10 @@
 
 	microcode {
 		update@0 {
-#include "microcode/m0130673322.dtsi"
+#include "microcode/m0130673325.dtsi"
 		};
 		update@1 {
-#include "microcode/m0130679901.dtsi"
+#include "microcode/m0130679907.dtsi"
 		};
 	};
 
diff --git a/arch/x86/dts/qemu-x86_q35.dts b/arch/x86/dts/qemu-x86_q35.dts
index 5d601b3..0d462a9 100644
--- a/arch/x86/dts/qemu-x86_q35.dts
+++ b/arch/x86/dts/qemu-x86_q35.dts
@@ -69,6 +69,8 @@
 			irq-router {
 				compatible = "intel,irq-router";
 				intel,pirq-config = "pci";
+				intel,actl-8bit;
+				intel,actl-addr = <0x44>;
 				intel,pirq-link = <0x60 8>;
 				intel,pirq-mask = <0x0e40>;
 				intel,pirq-routing = <
diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
deleted file mode 100644
index 4872b92..0000000
--- a/arch/x86/include/asm/acpi.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * From coreboot
- *
- * Copyright (C) 2004 SUSE LINUX AG
- * Copyright (C) 2004 Nick Barker
- * Copyright (C) 2008-2009 coresystems GmbH
- * (Written by Stefan Reinauer <stepan@coresystems.de>)
- *
- * SPDX-License-Identifier:	GPL-2.0
- */
-
-#ifndef __ASM_ACPI_H
-#define __ASM_ACPI_H
-
-#define RSDP_SIG		"RSD PTR "  /* RSDT pointer signature */
-#define ACPI_TABLE_CREATOR	"U-BootAC"  /* Must be exactly 8 bytes long! */
-#define OEM_ID			"U-Boot"    /* Must be exactly 6 bytes long! */
-#define ASLC			"U-Bo"      /* Must be exactly 4 bytes long! */
-
-/* 0 = S0, 1 = S1 ...*/
-int acpi_get_slp_type(void);
-void apci_set_slp_type(int type);
-
-#endif
diff --git a/arch/x86/include/asm/acpi/debug.asl b/arch/x86/include/asm/acpi/debug.asl
new file mode 100644
index 0000000..8e7b603
--- /dev/null
+++ b/arch/x86/include/asm/acpi/debug.asl
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/arch/x86/acpi/debug.asl
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/* POST register region */
+OperationRegion(X80, SystemIO, 0x80, 1)
+Field(X80, ByteAcc, NoLock, Preserve)
+{
+	P80, 8
+}
+
+/* Legacy serial port register region */
+OperationRegion(CREG, SystemIO, 0x3F8, 8)
+Field(CREG, ByteAcc, NoLock, Preserve)
+{
+	CDAT, 8,
+	CDLM, 8,
+	    , 8,
+	CLCR, 8,
+	CMCR, 8,
+	CLSR, 8
+}
+
+/* DINI - Initialize the serial port to 115200 8-N-1 */
+Method(DINI)
+{
+	Store(0x83, CLCR)
+	Store(0x01, CDAT)	/* 115200 baud (low) */
+	Store(0x00, CDLM)	/* 115200 baud (high) */
+	Store(0x03, CLCR)	/* word=8 stop=1 parity=none */
+	Store(0x03, CMCR)	/* DTR=1 RTS=1 out1/2=Off loop=Off */
+	Store(0x00, CDLM)	/* turn off interrupts */
+}
+
+/* THRE - Wait for serial port transmitter holding register to go empty */
+Method(THRE)
+{
+	And(CLSR, 0x20, Local0)
+	While (LEqual(Local0, Zero)) {
+		And(CLSR, 0x20, Local0)
+	}
+}
+
+/* OUTX - Send a single raw character */
+Method(OUTX, 1)
+{
+	THRE()
+	Store(Arg0, CDAT)
+}
+
+/* OUTC - Send a single character, expanding LF into CR/LF */
+Method(OUTC, 1)
+{
+	If (LEqual(Arg0, 0x0a)) {
+		OUTX(0x0d)
+	}
+	OUTX(Arg0)
+}
+
+/* DBGN - Send a single hex nibble */
+Method(DBGN, 1)
+{
+	And(Arg0, 0x0f, Local0)
+	If (LLess(Local0, 10)) {
+		Add(Local0, 0x30, Local0)
+	} Else {
+		Add(Local0, 0x37, Local0)
+	}
+	OUTC(Local0)
+}
+
+/* DBGB - Send a hex byte */
+Method(DBGB, 1)
+{
+	ShiftRight(Arg0, 4, Local0)
+	DBGN(Local0)
+	DBGN(Arg0)
+}
+
+/* DBGW - Send a hex word */
+Method(DBGW, 1)
+{
+	ShiftRight(Arg0, 8, Local0)
+	DBGB(Local0)
+	DBGB(Arg0)
+}
+
+/* DBGD - Send a hex dword */
+Method(DBGD, 1)
+{
+	ShiftRight(Arg0, 16, Local0)
+	DBGW(Local0)
+	DBGW(Arg0)
+}
+
+/* Get a char from a string */
+Method(GETC, 2)
+{
+	CreateByteField(Arg0, Arg1, DBGC)
+	Return (DBGC)
+}
+
+/* DBGO - Send either a string or an integer */
+Method(DBGO, 1, Serialized)
+{
+	If (LEqual(ObjectType(Arg0), 1)) {
+		If (LGreater(Arg0, 0xffff)) {
+			DBGD(Arg0)
+		} Else {
+			If (LGreater(Arg0, 0xff)) {
+				DBGW(Arg0)
+			} Else {
+				DBGB(Arg0)
+			}
+		}
+	} Else {
+		Name(BDBG, Buffer(80) {})
+		Store(Arg0, BDBG)
+		Store(0, Local1)
+		While (One) {
+			Store(GETC(BDBG, Local1), Local0)
+			If (LEqual(Local0, 0)) {
+				Return (Zero)
+			}
+			OUTC(Local0)
+			Increment(Local1)
+		}
+	}
+
+	Return (Zero)
+}
diff --git a/arch/x86/include/asm/acpi/globutil.asl b/arch/x86/include/asm/acpi/globutil.asl
new file mode 100644
index 0000000..46381b6
--- /dev/null
+++ b/arch/x86/include/asm/acpi/globutil.asl
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/arch/x86/acpi/globutil.asl
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+Method(MIN, 2)
+{
+	If (LLess(Arg0, Arg1)) {
+		Return (Arg0)
+	} Else {
+		Return (Arg1)
+	}
+}
+
+Method(SLEN, 1)
+{
+	Store(Arg0, Local0)
+	Return (Sizeof(Local0))
+}
+
+Method(S2BF, 1, Serialized)
+{
+	Add(SLEN(Arg0), One, Local0)
+	Name(BUFF, Buffer(Local0) {})
+	Store(Arg0, BUFF)
+	Return (BUFF)
+}
+
+/*
+ * SCMP - Strong string compare
+ *
+ * Checks both length and content
+ */
+Method(SCMP, 2)
+{
+	Store(S2BF(Arg0), Local0)
+	Store(S2BF(Arg1), Local1)
+	Store(Zero, Local4)
+	Store(SLEN(Arg0), Local5)
+	Store(SLEN(Arg1), Local6)
+	Store(MIN(Local5, Local6), Local7)
+
+	While (LLess(Local4, Local7)) {
+		Store(Derefof(Index(Local0, Local4)), Local2)
+		Store(Derefof(Index(Local1, Local4)), Local3)
+		If (LGreater(Local2, Local3)) {
+			Return (One)
+		} Else {
+			If (LLess(Local2, Local3)) {
+				Return (Ones)
+			}
+		}
+		Increment(Local4)
+	}
+
+	If (LLess(Local4, Local5)) {
+		Return (One)
+	} Else {
+		If (LLess(Local4, Local6)) {
+			Return (Ones)
+		} Else {
+			Return (Zero)
+		}
+	}
+}
+
+/*
+ * WCMP - Weak string compare
+ *
+ * Checks to find Arg1 at beginning of Arg0.
+ * Fails if length(Arg0) < length(Arg1).
+ * Returns 0 on fail, 1 on pass.
+ */
+Method(WCMP, 2)
+{
+	Store(S2BF(Arg0), Local0)
+	Store(S2BF(Arg1), Local1)
+	If (LLess(SLEN(Arg0), SLEN(Arg1))) {
+		Return (Zero)
+	}
+	Store(Zero, Local2)
+	Store(SLEN(Arg1), Local3)
+
+	While (LLess(Local2, Local3)) {
+		If (LNotEqual(Derefof(Index(Local0, Local2)),
+			Derefof(Index(Local1, Local2)))) {
+			Return (Zero)
+		}
+		Increment(Local2)
+	}
+
+	Return (One)
+}
+
+/*
+ * I2BM - Returns Bit Map
+ *
+ * Arg0 = IRQ Number (0-15)
+ */
+Method(I2BM, 1)
+{
+	Store(0, Local0)
+	If (LNotEqual(Arg0, 0)) {
+		Store(1, Local1)
+		ShiftLeft(Local1, Arg0, Local0)
+	}
+
+	Return (Local0)
+}
diff --git a/arch/x86/include/asm/acpi/statdef.asl b/arch/x86/include/asm/acpi/statdef.asl
new file mode 100644
index 0000000..e8cff10
--- /dev/null
+++ b/arch/x86/include/asm/acpi/statdef.asl
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2008 Advanced Micro Devices, Inc.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/arch/x86/acpi/statdef.asl
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/* Status and notification definitions */
+
+#define STA_MISSING		0x00
+#define STA_PRESENT		0x01
+#define STA_ENABLED		0x03
+#define STA_DISABLED		0x09
+#define STA_INVISIBLE		0x0b
+#define STA_UNAVAILABLE		0x0d
+#define STA_VISIBLE		0x0f
+
+/* SMBus status codes */
+#define SMB_OK			0x00
+#define SMB_UNKNOWN_FAIL	0x07
+#define SMB_DEV_ADDR_NAK	0x10
+#define SMB_DEVICE_ERROR	0x11
+#define SMB_DEV_CMD_DENIED	0x12
+#define SMB_UNKNOWN_ERR		0x13
+#define SMB_DEV_ACC_DENIED	0x17
+#define SMB_TIMEOUT		0x18
+#define SMB_HST_UNSUPP_PROTOCOL	0x19
+#define SMB_BUSY		0x1a
+#define SMB_PKT_CHK_ERROR	0x1f
+
+/* Device Object Notification Values */
+#define NOTIFY_BUS_CHECK	0x00
+#define NOTIFY_DEVICE_CHECK	0x01
+#define NOTIFY_DEVICE_WAKE	0x02
+#define NOTIFY_EJECT_REQUEST	0x03
+#define NOTIFY_DEVICE_CHECK_JR	0x04
+#define NOTIFY_FREQUENCY_ERROR	0x05
+#define NOTIFY_BUS_MODE		0x06
+#define NOTIFY_POWER_FAULT	0x07
+#define NOTIFY_CAPABILITIES	0x08
+#define NOTIFY_PLD_CHECK	0x09
+#define NOTIFY_SLIT_UPDATE	0x0b
+#define NOTIFY_SRA_UPDATE	0x0d
+
+/* Battery Device Notification Values */
+#define NOTIFY_BAT_STATUSCHG	0x80
+#define NOTIFY_BAT_INFOCHG	0x81
+#define NOTIFY_BAT_MAINTDATA	0x82
+
+/* Power Source Object Notification Values */
+#define NOTIFY_PWR_STATUSCHG	0x80
+#define NOTIFY_PWR_INFOCHG	0x81
+
+/* Thermal Zone Object Notification Values */
+#define NOTIFY_TZ_STATUSCHG	0x80
+#define NOTIFY_TZ_TRIPPTCHG	0x81
+#define NOTIFY_TZ_DEVLISTCHG	0x82
+#define NOTIFY_TZ_RELTBLCHG	0x83
+
+/* Power Button Notification Values */
+#define NOTIFY_POWER_BUTTON	0x80
+
+/* Sleep Button Notification Values */
+#define NOTIFY_SLEEP_BUTTON	0x80
+
+/* Lid Notification Values */
+#define NOTIFY_LID_STATUSCHG	0x80
+
+/* Processor Device Notification Values */
+#define NOTIFY_CPU_PPCCHG	0x80
+#define NOTIFY_CPU_CSTATECHG	0x81
+#define NOTIFY_CPU_THROTLCHG	0x82
+
+/* User Presence Device Notification Values */
+#define NOTIFY_USR_PRESNCECHG	0x80
+
+/* Ambient Light Sensor Notification Values */
+#define NOTIFY_ALS_ILLUMCHG	0x80
+#define NOTIFY_ALS_COLORTMPCHG	0x81
+#define NOTIFY_ALS_RESPCHG	0x82
diff --git a/arch/x86/include/asm/acpi_table.h b/arch/x86/include/asm/acpi_table.h
index 9856fa6..56aa282 100644
--- a/arch/x86/include/asm/acpi_table.h
+++ b/arch/x86/include/asm/acpi_table.h
@@ -2,83 +2,19 @@
  * Based on acpi.c from coreboot
  *
  * Copyright (C) 2015, Saket Sinha <saket.sinha89@gmail.com>
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
  *
  * SPDX-License-Identifier: GPL-2.0+
  */
 
-#include <common.h>
-#include <malloc.h>
-#include <asm/post.h>
-#include <linux/string.h>
-
-#define RSDP_SIG		"RSD PTR "	/* RSDT pointer signature */
-#define ACPI_TABLE_CREATOR	"UBOOT   "	/* Must be 8 bytes long! */
-#define OEM_ID			"UBOOT "	/* Must be 6 bytes long! */
-#define ASLC			"INTL"		/* Must be 4 bytes long! */
-
-#define OEM_REVISION	42
-#define ASL_COMPILER_REVISION	42
-
-/* IO ports to generate SMIs */
-#define APM_CNT			0xb2
-#define APM_CNT_CST_CONTROL	0x85
-#define APM_CNT_PST_CONTROL	0x80
-#define APM_CNT_ACPI_DISABLE	0x1e
-#define APM_CNT_ACPI_ENABLE	0xe1
-#define APM_CNT_MBI_UPDATE	0xeb
-#define APM_CNT_GNVS_UPDATE	0xea
-#define APM_CNT_FINALIZE	0xcb
-#define APM_CNT_LEGACY		0xcc
-#define APM_ST			0xb3
-
-/* Multiple Processor Interrupts */
-#define MP_IRQ_POLARITY_DEFAULT	0x0
-#define MP_IRQ_POLARITY_HIGH	0x1
-#define MP_IRQ_POLARITY_LOW	0x3
-#define MP_IRQ_POLARITY_MASK	0x3
-#define MP_IRQ_TRIGGER_DEFAULT	0x0
-#define MP_IRQ_TRIGGER_EDGE	0x4
-#define MP_IRQ_TRIGGER_LEVEL	0xc
-#define MP_IRQ_TRIGGER_MASK	0xc
-
-/*
- * Interrupt assigned for SCI in order to
- * create the ACPI MADT IRQ override entry
- */
-#define ACTL		0x00
-#define SCIS_MASK	0x07
-#define SCIS_IRQ9	0x00
-#define SCIS_IRQ10	0x01
-#define SCIS_IRQ11	0x02
-#define SCIS_IRQ20	0x04
-#define SCIS_IRQ21	0x05
-#define SCIS_IRQ22	0x06
-#define SCIS_IRQ23	0x07
-
-#define ACPI_REV_ACPI_1_0	1
-#define ACPI_REV_ACPI_2_0	1
-#define ACPI_REV_ACPI_3_0	2
-#define ACPI_REV_ACPI_4_0	3
-#define ACPI_REV_ACPI_5_0	5
+#define RSDP_SIG		"RSD PTR "	/* RSDP pointer signature */
+#define OEM_ID			"U-BOOT"	/* U-Boot */
+#define OEM_TABLE_ID		"U-BOOTBL"	/* U-Boot Table */
+#define ASLC_ID			"INTL"		/* Intel ASL Compiler */
 
 #define ACPI_RSDP_REV_ACPI_1_0	0
 #define ACPI_RSDP_REV_ACPI_2_0	2
 
-typedef struct acpi_gen_regaddr {
-	u8  space_id;	/* Address space ID */
-	u8  bit_width;	/* Register size in bits */
-	u8  bit_offset;	/* Register bit offset */
-	union {
-		/* Reserved in ACPI 2.0 - 2.0b */
-		u8  resv;
-		/* Access size in ACPI 2.0c/3.0/4.0/5.0 */
-		u8  access_size;
-	};
-	u32 addrl;	/* Register address, low 32 bits */
-	u32 addrh;	/* Register address, high 32 bits */
-} acpi_addr_t;
-
-
 /*
  * RSDP (Root System Description Pointer)
  * Note: ACPI 1.0 didn't have length, xsdt_address, and ext_checksum
@@ -87,7 +23,7 @@
 	char signature[8];	/* RSDP signature */
 	u8 checksum;		/* Checksum of the first 20 bytes */
 	char oem_id[6];		/* OEM ID */
-	u8 revision;		/* 0 for ACPI 1.0, 2 for ACPI 2.0/3.0/4.0 */
+	u8 revision;		/* 0 for ACPI 1.0, others 2 */
 	u32 rsdt_address;	/* Physical address of RSDT (32 bits) */
 	u32 length;		/* Total RSDP length (incl. extended part) */
 	u64 xsdt_address;	/* Physical address of XSDT (64 bits) */
@@ -95,35 +31,8 @@
 	u8 reserved[3];
 };
 
-enum acpi_address_space_type {
-	ACPI_ADDRESS_SPACE_MEMORY = 0,	/* System memory */
-	ACPI_ADDRESS_SPACE_IO,		/* System I/O */
-	ACPI_ADDRESS_SPACE_PCI,		/* PCI config space */
-	ACPI_ADDRESS_SPACE_EC,		/* Embedded controller */
-	ACPI_ADDRESS_SPACE_SMBUS,	/* SMBus */
-	ACPI_ADDRESS_SPACE_PCC = 0x0a,	/* Platform Comm. Channel */
-	ACPI_ADDRESS_SPACE_FIXED = 0x7f	/* Functional fixed hardware */
-};
-
-/* functional fixed hardware */
-#define ACPI_FFIXEDHW_VENDOR_INTEL	1	/* Intel */
-#define ACPI_FFIXEDHW_CLASS_HLT		0	/* C1 Halt */
-#define ACPI_FFIXEDHW_CLASS_IO_HLT	1	/* C1 I/O then Halt */
-#define ACPI_FFIXEDHW_CLASS_MWAIT	2	/* MWAIT Native C-state */
-#define ACPI_FFIXEDHW_FLAG_HW_COORD	1	/* Hardware Coordination bit */
-#define ACPI_FFIXEDHW_FLAG_BM_STS	2	/* BM_STS avoidance bit */
-
-/* Access size definitions for Generic address structure */
-enum acpi_address_space_size {
-	ACPI_ACCESS_SIZE_UNDEFINED = 0,	/* Undefined (legacy reasons) */
-	ACPI_ACCESS_SIZE_BYTE_ACCESS = 1,
-	ACPI_ACCESS_SIZE_WORD_ACCESS = 2,
-	ACPI_ACCESS_SIZE_DWORD_ACCESS = 3,
-	ACPI_ACCESS_SIZE_QWORD_ACCESS = 4
-};
-
 /* Generic ACPI header, provided by (almost) all tables */
-typedef struct acpi_table_header {
+struct acpi_table_header {
 	char signature[4];	/* ACPI signature (4 ASCII characters) */
 	u32 length;		/* Table length in bytes (incl. header) */
 	u8 revision;		/* Table version (not ACPI version!) */
@@ -131,12 +40,12 @@
 	char oem_id[6];		/* OEM identification */
 	char oem_table_id[8];	/* OEM table identification */
 	u32 oem_revision;	/* OEM revision number */
-	char asl_compiler_id[4]; /* ASL compiler vendor ID */
-	u32 asl_compiler_revision; /* ASL compiler revision number */
-} acpi_header_t;
+	char aslc_id[4];	/* ASL compiler vendor ID */
+	u32 aslc_revision;	/* ASL compiler revision number */
+};
 
 /* A maximum number of 32 ACPI tables ought to be enough for now */
-#define MAX_ACPI_TABLES	32
+#define MAX_ACPI_TABLES		32
 
 /* RSDT (Root System Description Table) */
 struct acpi_rsdt {
@@ -150,103 +59,80 @@
 	u64 entry[MAX_ACPI_TABLES];
 };
 
-/* MCFG (PCI Express MMIO config space BAR description table) */
-struct acpi_mcfg {
-	struct acpi_table_header header;
-	u8 reserved[8];
+/* FADT Preferred Power Management Profile */
+enum acpi_pm_profile {
+	ACPI_PM_UNSPECIFIED = 0,
+	ACPI_PM_DESKTOP,
+	ACPI_PM_MOBILE,
+	ACPI_PM_WORKSTATION,
+	ACPI_PM_ENTERPRISE_SERVER,
+	ACPI_PM_SOHO_SERVER,
+	ACPI_PM_APPLIANCE_PC,
+	ACPI_PM_PERFORMANCE_SERVER,
+	ACPI_PM_TABLET
 };
 
-struct acpi_mcfg_mmconfig {
-	u32 base_address;
-	u32 base_reserved;
-	u16 pci_segment_group_number;
-	u8 start_bus_number;
-	u8 end_bus_number;
-	u8 reserved[4];
+/* FADT flags for p_lvl2_lat and p_lvl3_lat */
+#define ACPI_FADT_C2_NOT_SUPPORTED	101
+#define ACPI_FADT_C3_NOT_SUPPORTED	1001
+
+/* FADT Boot Architecture Flags */
+#define ACPI_FADT_LEGACY_FREE		0x00
+#define ACPI_FADT_LEGACY_DEVICES	(1 << 0)
+#define ACPI_FADT_8042			(1 << 1)
+#define ACPI_FADT_VGA_NOT_PRESENT	(1 << 2)
+#define ACPI_FADT_MSI_NOT_SUPPORTED	(1 << 3)
+#define ACPI_FADT_NO_PCIE_ASPM_CONTROL	(1 << 4)
+
+/* FADT Feature Flags */
+#define ACPI_FADT_WBINVD		(1 << 0)
+#define ACPI_FADT_WBINVD_FLUSH		(1 << 1)
+#define ACPI_FADT_C1_SUPPORTED		(1 << 2)
+#define ACPI_FADT_C2_MP_SUPPORTED	(1 << 3)
+#define ACPI_FADT_POWER_BUTTON		(1 << 4)
+#define ACPI_FADT_SLEEP_BUTTON		(1 << 5)
+#define ACPI_FADT_FIXED_RTC		(1 << 6)
+#define ACPI_FADT_S4_RTC_WAKE		(1 << 7)
+#define ACPI_FADT_32BIT_TIMER		(1 << 8)
+#define ACPI_FADT_DOCKING_SUPPORTED	(1 << 9)
+#define ACPI_FADT_RESET_REGISTER	(1 << 10)
+#define ACPI_FADT_SEALED_CASE		(1 << 11)
+#define ACPI_FADT_HEADLESS		(1 << 12)
+#define ACPI_FADT_SLEEP_TYPE		(1 << 13)
+#define ACPI_FADT_PCI_EXPRESS_WAKE	(1 << 14)
+#define ACPI_FADT_PLATFORM_CLOCK	(1 << 15)
+#define ACPI_FADT_S4_RTC_VALID		(1 << 16)
+#define ACPI_FADT_REMOTE_POWER_ON	(1 << 17)
+#define ACPI_FADT_APIC_CLUSTER		(1 << 18)
+#define ACPI_FADT_APIC_PHYSICAL		(1 << 19)
+#define ACPI_FADT_HW_REDUCED_ACPI	(1 << 20)
+#define ACPI_FADT_LOW_PWR_IDLE_S0	(1 << 21)
+
+enum acpi_address_space_type {
+	ACPI_ADDRESS_SPACE_MEMORY = 0,	/* System memory */
+	ACPI_ADDRESS_SPACE_IO,		/* System I/O */
+	ACPI_ADDRESS_SPACE_PCI,		/* PCI config space */
+	ACPI_ADDRESS_SPACE_EC,		/* Embedded controller */
+	ACPI_ADDRESS_SPACE_SMBUS,	/* SMBus */
+	ACPI_ADDRESS_SPACE_PCC = 0x0a,	/* Platform Comm. Channel */
+	ACPI_ADDRESS_SPACE_FIXED = 0x7f	/* Functional fixed hardware */
 };
 
-/* MADT (Multiple APIC Description Table) */
-struct acpi_madt {
-	struct acpi_table_header header;
-	u32 lapic_addr;			/* Local APIC address */
-	u32 flags;			/* Multiple APIC flags */
-} acpi_madt_t;
-
-enum dev_scope_type {
-	SCOPE_PCI_ENDPOINT = 1,
-	SCOPE_PCI_SUB = 2,
-	SCOPE_IOAPIC = 3,
-	SCOPE_MSI_HPET = 4
+enum acpi_address_space_size {
+	ACPI_ACCESS_SIZE_UNDEFINED = 0,
+	ACPI_ACCESS_SIZE_BYTE_ACCESS,
+	ACPI_ACCESS_SIZE_WORD_ACCESS,
+	ACPI_ACCESS_SIZE_DWORD_ACCESS,
+	ACPI_ACCESS_SIZE_QWORD_ACCESS
 };
 
-typedef struct dev_scope {
-	u8 type;
-	u8 length;
-	u8 reserved[2];
-	u8 enumeration;
-	u8 start_bus;
-	struct {
-		u8 dev;
-		u8 fn;
-	} path[0];
-} __packed dev_scope_t;
-
-/* MADT: APIC Structure Type*/
-enum acpi_apic_types {
-	LOCALAPIC	= 0,	/* Processor local APIC */
-	IOAPIC,			/* I/O APIC */
-	IRQSOURCEOVERRIDE,	/* Interrupt source override */
-	NMITYPE,		/* NMI source */
-	LOCALNMITYPE, 		/* Local APIC NMI */
-	LAPICADDRESSOVERRIDE,	/* Local APIC address override */
-	IOSAPIC,		/* I/O SAPIC */
-	LOCALSAPIC,		/* Local SAPIC */
-	PLATFORMIRQSOURCES,	/* Platform interrupt sources */
-	LOCALX2SAPIC,		/* Processor local x2APIC */
-	LOCALX2APICNMI,		/* Local x2APIC NMI */
-};
-
-/* MADT: Processor Local APIC Structure */
-struct acpi_madt_lapic {
-	u8 type;		/* Type (0) */
-	u8 length;		/* Length in bytes (8) */
-	u8 processor_id;	/* ACPI processor ID */
-	u8 apic_id;		/* Local APIC ID */
-	u32 flags;		/* Local APIC flags */
-};
-
-#define LOCAL_APIC_FLAG_ENABLED	(1 << 0)
-/* bits 1-31: reserved */
-#define PCAT_COMPAT		(1 << 0)
-/* bits 1-31: reserved */
-
-/* MADT: Local APIC NMI Structure */
-struct acpi_madt_lapic_nmi {
-	u8 type;		/* Type (4) */
-	u8 length;		/* Length in bytes (6) */
-	u8 processor_id;	/* ACPI processor ID */
-	u16 flags;		/* MPS INTI flags */
-	u8 lint;		/* Local APIC LINT# */
-};
-
-/* MADT: I/O APIC Structure */
-struct acpi_madt_ioapic {
-	u8 type;		/* Type (1) */
-	u8 length;		/* Length in bytes (12) */
-	u8 ioapic_id;		/* I/O APIC ID */
-	u8 reserved;
-	u32 ioapic_addr;	/* I/O APIC address */
-	u32 gsi_base;		/* Global system interrupt base */
-};
-
-/* MADT: Interrupt Source Override Structure */
-struct acpi_madt_irqoverride {
-	u8 type;		/* Type (2) */
-	u8 length;		/* Length in bytes (10) */
-	u8 bus;			/* ISA (0) */
-	u8 source;		/* Bus-relative int. source (IRQ) */
-	u32 gsirq;		/* Global system interrupt */
-	u16 flags;		/* MPS INTI flags */
+struct acpi_gen_regaddr {
+	u8 space_id;	/* Address space ID */
+	u8 bit_width;	/* Register size in bits */
+	u8 bit_offset;	/* Register bit offset */
+	u8 access_size;	/* Access size */
+	u32 addrl;	/* Register address, low 32 bits */
+	u32 addrh;	/* Register address, high 32 bits */
 };
 
 /* FADT (Fixed ACPI Description Table) */
@@ -254,7 +140,7 @@
 	struct acpi_table_header header;
 	u32 firmware_ctrl;
 	u32 dsdt;
-	u8 model;
+	u8 res1;
 	u8 preferred_pm_profile;
 	u16 sci_int;
 	u32 smi_cmd;
@@ -309,85 +195,121 @@
 	struct acpi_gen_regaddr x_gpe1_blk;
 };
 
-/* Flags for p_lvl2_lat and p_lvl3_lat */
-#define ACPI_FADT_C2_NOT_SUPPORTED	101
-#define ACPI_FADT_C3_NOT_SUPPORTED	1001
-
-/* FADT Feature Flags */
-#define ACPI_FADT_WBINVD		(1 << 0)
-#define ACPI_FADT_WBINVD_FLUSH		(1 << 1)
-#define ACPI_FADT_C1_SUPPORTED		(1 << 2)
-#define ACPI_FADT_C2_MP_SUPPORTED	(1 << 3)
-#define ACPI_FADT_POWER_BUTTON		(1 << 4)
-#define ACPI_FADT_SLEEP_BUTTON		(1 << 5)
-#define ACPI_FADT_FIXED_RTC		(1 << 6)
-#define ACPI_FADT_S4_RTC_WAKE		(1 << 7)
-#define ACPI_FADT_32BIT_TIMER		(1 << 8)
-#define ACPI_FADT_DOCKING_SUPPORTED	(1 << 9)
-#define ACPI_FADT_RESET_REGISTER	(1 << 10)
-#define ACPI_FADT_SEALED_CASE		(1 << 11)
-#define ACPI_FADT_HEADLESS		(1 << 12)
-#define ACPI_FADT_SLEEP_TYPE		(1 << 13)
-#define ACPI_FADT_PCI_EXPRESS_WAKE	(1 << 14)
-#define ACPI_FADT_PLATFORM_CLOCK	(1 << 15)
-#define ACPI_FADT_S4_RTC_VALID		(1 << 16)
-#define ACPI_FADT_REMOTE_POWER_ON	(1 << 17)
-#define ACPI_FADT_APIC_CLUSTER		(1 << 18)
-#define ACPI_FADT_APIC_PHYSICAL		(1 << 19)
-/* Bits 20-31: reserved ACPI 3.0 & 4.0 */
-#define ACPI_FADT_HW_REDUCED_ACPI	(1 << 20)
-#define ACPI_FADT_LOW_PWR_IDLE_S0	(1 << 21)
-/* bits 22-31: reserved ACPI 5.0 */
-
-/* FADT Boot Architecture Flags */
-#define ACPI_FADT_LEGACY_DEVICES	(1 << 0)
-#define ACPI_FADT_8042			(1 << 1)
-#define ACPI_FADT_VGA_NOT_PRESENT	(1 << 2)
-#define ACPI_FADT_MSI_NOT_SUPPORTED	(1 << 3)
-#define ACPI_FADT_NO_PCIE_ASPM_CONTROL	(1 << 4)
-/* No legacy devices (including 8042) */
-#define ACPI_FADT_LEGACY_FREE		0x00
-
-/* FADT Preferred Power Management Profile */
-#define PM_UNSPECIFIED		0
-#define PM_DESKTOP		1
-#define PM_MOBILE		2
-#define PM_WORKSTATION		3
-#define PM_ENTERPRISE_SERVER	4
-#define PM_SOHO_SERVER		5
-#define PM_APPLIANCE_PC		6
-#define PM_PERFORMANCE_SERVER	7
-#define PM_TABLET		8	/* ACPI 5.0 */
-
-/* FACS (Firmware ACPI Control Structure) */
-struct acpi_facs {
-	char signature[4];			/* "FACS" */
-	u32 length;				/* Length in bytes (>= 64) */
-	u32 hardware_signature;			/* Hardware signature */
-	u32 firmware_waking_vector;		/* Firmware waking vector */
-	u32 global_lock;			/* Global lock */
-	u32 flags;				/* FACS flags */
-	u32 x_firmware_waking_vector_l;		/* X FW waking vector, low */
-	u32 x_firmware_waking_vector_h;		/* X FW waking vector, high */
-	u8 version;				/* ACPI 4.0: 2 */
-	u8 resv[31];				/* FIXME: 4.0: ospm_flags */
-};
-
 /* FACS flags */
 #define ACPI_FACS_S4BIOS_F	(1 << 0)
 #define ACPI_FACS_64BIT_WAKE_F	(1 << 1)
-/* Bits 31..2: reserved */
+
+/* FACS (Firmware ACPI Control Structure) */
+struct acpi_facs {
+	char signature[4];		/* "FACS" */
+	u32 length;			/* Length in bytes (>= 64) */
+	u32 hardware_signature;		/* Hardware signature */
+	u32 firmware_waking_vector;	/* Firmware waking vector */
+	u32 global_lock;		/* Global lock */
+	u32 flags;			/* FACS flags */
+	u32 x_firmware_waking_vector_l;	/* X FW waking vector, low */
+	u32 x_firmware_waking_vector_h;	/* X FW waking vector, high */
+	u8 version;			/* Version 2 */
+	u8 res1[3];
+	u32 ospm_flags;			/* OSPM enabled flags */
+	u8 res2[24];
+};
+
+/* MADT flags */
+#define ACPI_MADT_PCAT_COMPAT	(1 << 0)
+
+/* MADT (Multiple APIC Description Table) */
+struct acpi_madt {
+	struct acpi_table_header header;
+	u32 lapic_addr;			/* Local APIC address */
+	u32 flags;			/* Multiple APIC flags */
+};
+
+/* MADT: APIC Structure Type*/
+enum acpi_apic_types {
+	ACPI_APIC_LAPIC	= 0,		/* Processor local APIC */
+	ACPI_APIC_IOAPIC,		/* I/O APIC */
+	ACPI_APIC_IRQ_SRC_OVERRIDE,	/* Interrupt source override */
+	ACPI_APIC_NMI_SRC,		/* NMI source */
+	ACPI_APIC_LAPIC_NMI,		/* Local APIC NMI */
+	ACPI_APIC_LAPIC_ADDR_OVERRIDE,	/* Local APIC address override */
+	ACPI_APIC_IOSAPIC,		/* I/O SAPIC */
+	ACPI_APIC_LSAPIC,		/* Local SAPIC */
+	ACPI_APIC_PLATFORM_IRQ_SRC,	/* Platform interrupt sources */
+	ACPI_APIC_LX2APIC,		/* Processor local x2APIC */
+	ACPI_APIC_LX2APIC_NMI,		/* Local x2APIC NMI */
+};
+
+/* MADT: Processor Local APIC Structure */
+
+#define LOCAL_APIC_FLAG_ENABLED	(1 << 0)
+
+struct acpi_madt_lapic {
+	u8 type;		/* Type (0) */
+	u8 length;		/* Length in bytes (8) */
+	u8 processor_id;	/* ACPI processor ID */
+	u8 apic_id;		/* Local APIC ID */
+	u32 flags;		/* Local APIC flags */
+};
+
+/* MADT: I/O APIC Structure */
+struct acpi_madt_ioapic {
+	u8 type;		/* Type (1) */
+	u8 length;		/* Length in bytes (12) */
+	u8 ioapic_id;		/* I/O APIC ID */
+	u8 reserved;
+	u32 ioapic_addr;	/* I/O APIC address */
+	u32 gsi_base;		/* Global system interrupt base */
+};
+
+/* MADT: Interrupt Source Override Structure */
+struct __packed acpi_madt_irqoverride {
+	u8 type;		/* Type (2) */
+	u8 length;		/* Length in bytes (10) */
+	u8 bus;			/* ISA (0) */
+	u8 source;		/* Bus-relative int. source (IRQ) */
+	u32 gsirq;		/* Global system interrupt */
+	u16 flags;		/* MPS INTI flags */
+};
+
+/* MADT: Local APIC NMI Structure */
+struct __packed acpi_madt_lapic_nmi {
+	u8 type;		/* Type (4) */
+	u8 length;		/* Length in bytes (6) */
+	u8 processor_id;	/* ACPI processor ID */
+	u16 flags;		/* MPS INTI flags */
+	u8 lint;		/* Local APIC LINT# */
+};
+
+/* MCFG (PCI Express MMIO config space BAR description table) */
+struct acpi_mcfg {
+	struct acpi_table_header header;
+	u8 reserved[8];
+};
+
+struct acpi_mcfg_mmconfig {
+	u32 base_address_l;
+	u32 base_address_h;
+	u16 pci_segment_group_number;
+	u8 start_bus_number;
+	u8 end_bus_number;
+	u8 reserved[4];
+};
+
+/* PM1_CNT bit defines */
+#define PM1_CNT_SCI_EN		(1 << 0)
 
 /* These can be used by the target port */
 
-unsigned long acpi_create_madt_lapics(unsigned long current);
-int acpi_create_madt_ioapic(struct acpi_madt_ioapic *ioapic, u8 id, u32 addr,
-			 u32 gsi_base);
-int acpi_create_madt_irqoverride(struct acpi_madt_irqoverride *irqoverride,
-			 u8 bus, u8 source, u32 gsirq, u16 flags);
-unsigned long acpi_fill_madt(unsigned long current);
+void acpi_fill_header(struct acpi_table_header *header, char *signature);
 void acpi_create_fadt(struct acpi_fadt *fadt, struct acpi_facs *facs,
-			 void *dsdt);
-int acpi_create_madt_lapic_nmi(struct acpi_madt_lapic_nmi *lapic_nmi, u8 cpu,
-			 u16 flags, u8 lint);
+		      void *dsdt);
+int acpi_create_madt_lapics(u32 current);
+int acpi_create_madt_ioapic(struct acpi_madt_ioapic *ioapic, u8 id,
+			    u32 addr, u32 gsi_base);
+int acpi_create_madt_irqoverride(struct acpi_madt_irqoverride *irqoverride,
+				 u8 bus, u8 source, u32 gsirq, u16 flags);
+int acpi_create_madt_lapic_nmi(struct acpi_madt_lapic_nmi *lapic_nmi,
+			       u8 cpu, u16 flags, u8 lint);
+u32 acpi_fill_madt(u32 current);
 u32 write_acpi_tables(u32 start);
diff --git a/arch/x86/include/asm/arch-baytrail/acpi/gpio.asl b/arch/x86/include/asm/arch-baytrail/acpi/gpio.asl
new file mode 100644
index 0000000..ef340f3
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/acpi/gpio.asl
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/acpi/gpio.asl
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/* SouthCluster GPIO */
+Device (GPSC)
+{
+	Name(_HID, "INT33FC")
+	Name(_CID, "INT33FC")
+	Name(_UID, 1)
+
+	Name(RBUF, ResourceTemplate()
+	{
+		Memory32Fixed(ReadWrite, 0, 0x1000, RMEM)
+		Interrupt(ResourceConsumer, Level, ActiveLow, Shared, , ,)
+		{
+			GPIO_SC_IRQ
+		}
+	})
+
+	Method(_CRS)
+	{
+		CreateDwordField(^RBUF, ^RMEM._BAS, RBAS)
+		Add(IO_BASE_ADDRESS, IO_BASE_OFFSET_GPSCORE, RBAS)
+		Return (^RBUF)
+	}
+
+	Method(_STA)
+	{
+		Return (STA_VISIBLE)
+	}
+}
+
+/* NorthCluster GPIO */
+Device (GPNC)
+{
+	Name(_HID, "INT33FC")
+	Name(_CID, "INT33FC")
+	Name(_UID, 2)
+
+	Name(RBUF, ResourceTemplate()
+	{
+		Memory32Fixed(ReadWrite, 0, 0x1000, RMEM)
+		Interrupt(ResourceConsumer, Level, ActiveLow, Shared, , ,)
+		{
+			GPIO_NC_IRQ
+		}
+	})
+
+	Method(_CRS)
+	{
+		CreateDwordField(^RBUF, ^RMEM._BAS, RBAS)
+		Add(IO_BASE_ADDRESS, IO_BASE_OFFSET_GPNCORE, RBAS)
+		Return (^RBUF)
+	}
+
+	Method(_STA)
+	{
+		Return (STA_VISIBLE)
+	}
+}
+
+/* SUS GPIO */
+Device (GPSS)
+{
+	Name(_HID, "INT33FC")
+	Name(_CID, "INT33FC")
+	Name(_UID, 3)
+
+	Name(RBUF, ResourceTemplate()
+	{
+		Memory32Fixed(ReadWrite, 0, 0x1000, RMEM)
+		Interrupt(ResourceConsumer, Level, ActiveLow, Shared, , ,)
+		{
+			GPIO_SUS_IRQ
+		}
+	})
+
+	Method(_CRS)
+	{
+		CreateDwordField(^RBUF, ^RMEM._BAS, RBAS)
+		Add(IO_BASE_ADDRESS, IO_BASE_OFFSET_GPSSUS, RBAS)
+		Return (^RBUF)
+	}
+
+	Method(_STA)
+	{
+		Return (STA_VISIBLE)
+	}
+}
diff --git a/arch/x86/include/asm/arch-baytrail/acpi/irq_helper.h b/arch/x86/include/asm/arch-baytrail/acpi/irq_helper.h
new file mode 100644
index 0000000..2c3585a
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/acpi/irq_helper.h
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2014 Sage Electronics Engineering, LLC.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/include/soc/irq_helper.h
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/*
+ * This file intentionally gets included multiple times, to set pic and apic
+ * modes, so should not have guard statements added.
+ */
+
+/*
+ * This file will use irqroute.asl and irqroute.h to generate the ACPI IRQ
+ * routing for the platform being compiled.
+ *
+ * This method uses #defines in irqroute.h along with the macros contained
+ * in this file to generate an IRQ routing for each PCI device in the system.
+ */
+
+#undef PCI_DEV_PIRQ_ROUTES
+#undef PCI_DEV_PIRQ_ROUTE
+#undef ACPI_DEV_IRQ
+#undef PCIE_BRIDGE_DEV
+#undef RP_IRQ_ROUTES
+#undef ROOTPORT_METHODS
+#undef ROOTPORT_IRQ_ROUTES
+#undef RP_METHOD
+
+#if defined(PIC_MODE)
+
+#define ACPI_DEV_IRQ(dev_, pin_, pin_name_) \
+	Package() { ## dev_ ## ffff, pin_, \_SB.PCI0.LPCB.LNK ## pin_name_, 0 }
+
+#define RP_IRQ_ROUTES(prefix_, func_, a_, b_, c_, d_) \
+Name(prefix_ ## func_ ## P, Package() \
+{ \
+	ACPI_DEV_IRQ(0x0000, 0, a_), \
+	ACPI_DEV_IRQ(0x0000, 1, b_), \
+	ACPI_DEV_IRQ(0x0000, 2, c_), \
+	ACPI_DEV_IRQ(0x0000, 3, d_), \
+})
+
+/* define as blank so ROOTPORT_METHODS only gets inserted once */
+#define ROOTPORT_METHODS(prefix_, dev_)
+
+#else /* defined(PIC_MODE) */
+
+#define ACPI_DEV_IRQ(dev_, pin_, pin_name_) \
+	Package() { ## dev_ ## ffff, pin_, 0, PIRQ ## pin_name_ ## _APIC_IRQ }
+
+#define RP_IRQ_ROUTES(prefix_, func_, a_, b_, c_, d_) \
+Name(prefix_ ## func_ ## A, Package() \
+{ \
+	ACPI_DEV_IRQ(0x0000, 0, a_), \
+	ACPI_DEV_IRQ(0x0000, 1, b_), \
+	ACPI_DEV_IRQ(0x0000, 2, c_), \
+	ACPI_DEV_IRQ(0x0000, 3, d_), \
+})
+
+#define ROOTPORT_METHODS(prefix_, dev_) \
+	RP_METHOD(prefix_, dev_, 0) \
+	RP_METHOD(prefix_, dev_, 1) \
+	RP_METHOD(prefix_, dev_, 2) \
+	RP_METHOD(prefix_, dev_, 3) \
+	RP_METHOD(prefix_, dev_, 4) \
+	RP_METHOD(prefix_, dev_, 5) \
+	RP_METHOD(prefix_, dev_, 6) \
+	RP_METHOD(prefix_, dev_, 7)
+
+#endif /* defined(PIC_MODE) */
+
+#define PCI_DEV_PIRQ_ROUTE(dev_, a_, b_, c_, d_) \
+	ACPI_DEV_IRQ(dev_, 0, a_), \
+	ACPI_DEV_IRQ(dev_, 1, b_), \
+	ACPI_DEV_IRQ(dev_, 2, c_), \
+	ACPI_DEV_IRQ(dev_, 3, d_)
+
+#define PCIE_BRIDGE_DEV(prefix_, dev_, a_, b_, c_, d_) \
+	ROOTPORT_IRQ_ROUTES(prefix_, a_, b_, c_, d_) \
+	ROOTPORT_METHODS(prefix_, dev_)
+
+#define ROOTPORT_IRQ_ROUTES(prefix_, a_, b_, c_, d_) \
+	RP_IRQ_ROUTES(prefix_, 0, a_, b_, c_, d_) \
+	RP_IRQ_ROUTES(prefix_, 1, b_, c_, d_, a_) \
+	RP_IRQ_ROUTES(prefix_, 2, c_, d_, a_, b_) \
+	RP_IRQ_ROUTES(prefix_, 3, d_, a_, b_, c_) \
+	RP_IRQ_ROUTES(prefix_, 4, a_, b_, c_, d_) \
+	RP_IRQ_ROUTES(prefix_, 5, b_, c_, d_, a_) \
+	RP_IRQ_ROUTES(prefix_, 6, c_, d_, a_, b_) \
+	RP_IRQ_ROUTES(prefix_, 7, d_, a_, b_, c_)
+
+#define RP_METHOD(prefix_, dev_, func_)\
+Device (prefix_ ## 0 ## func_) \
+{ \
+	Name(_ADR, dev_ ## 000 ## func_) \
+	Name(_PRW, Package() { 0, 0 }) \
+	Method(_PRT) { \
+		If (PICM) { \
+			Return (prefix_ ## func_ ## A) \
+		} Else { \
+			Return (prefix_ ## func_ ## P) \
+		} \
+	} \
+}
+
+/* SoC specific PIRQ route configuration */
+#include "irqroute.h"
diff --git a/arch/x86/include/asm/arch-baytrail/acpi/irqlinks.asl b/arch/x86/include/asm/arch-baytrail/acpi/irqlinks.asl
new file mode 100644
index 0000000..0affa23
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/acpi/irqlinks.asl
@@ -0,0 +1,493 @@
+/*
+ * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/acpi/irqlinks.asl
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+Scope (\)
+{
+	/* Intel Legacy Block */
+	OperationRegion(ILBS, SystemMemory, ILB_BASE_ADDRESS, ILB_BASE_SIZE)
+	Field(ILBS, AnyAcc, NoLock, Preserve) {
+		Offset (0x8),
+		PRTA, 8,
+		PRTB, 8,
+		PRTC, 8,
+		PRTD, 8,
+		PRTE, 8,
+		PRTF, 8,
+		PRTG, 8,
+		PRTH, 8,
+		Offset (0x88),
+		    , 3,
+		UI3E, 1,
+		UI4E, 1
+	}
+}
+
+Device (LNKA)
+{
+	Name(_HID, EISAID("PNP0C0F"))
+	Name(_UID, 1)
+
+	/* Disable method */
+	Method(_DIS, 0, Serialized)
+	{
+		Store(0x80, PRTA)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name(_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared) { 5, 6, 7, 10, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method(_CRS, 0, Serialized)
+	{
+		Name(RTLA, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLA, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store(Zero, IRQ0)
+
+		/* Set the bit from PRTA */
+		ShiftLeft(1, And(PRTA, 0x0f), IRQ0)
+
+		Return (RTLA)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method(_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTA)
+	}
+
+	/* Status */
+	Method(_STA, 0, Serialized)
+	{
+		If (And(PRTA, 0x80)) {
+			Return (STA_DISABLED)
+		} Else {
+			Return (STA_INVISIBLE)
+		}
+	}
+}
+
+Device (LNKB)
+{
+	Name(_HID, EISAID("PNP0C0F"))
+	Name(_UID, 2)
+
+	/* Disable method */
+	Method(_DIS, 0, Serialized)
+	{
+		Store(0x80, PRTB)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name(_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared) { 5, 6, 7, 10, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method(_CRS, 0, Serialized)
+	{
+		Name(RTLB, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLB, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store(Zero, IRQ0)
+
+		/* Set the bit from PRTB */
+		ShiftLeft(1, And(PRTB, 0x0f), IRQ0)
+
+		Return (RTLB)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method(_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTB)
+	}
+
+	/* Status */
+	Method(_STA, 0, Serialized)
+	{
+		If (And(PRTB, 0x80)) {
+			Return (STA_DISABLED)
+		} Else {
+			Return (STA_INVISIBLE)
+		}
+	}
+}
+
+Device (LNKC)
+{
+	Name(_HID, EISAID("PNP0C0F"))
+	Name(_UID, 3)
+
+	/* Disable method */
+	Method(_DIS, 0, Serialized)
+	{
+		Store(0x80, PRTC)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name(_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared) { 5, 6, 7, 10, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method(_CRS, 0, Serialized)
+	{
+		Name(RTLC, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLC, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store(Zero, IRQ0)
+
+		/* Set the bit from PRTC */
+		ShiftLeft(1, And(PRTC, 0x0f), IRQ0)
+
+		Return (RTLC)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method(_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTC)
+	}
+
+	/* Status */
+	Method(_STA, 0, Serialized)
+	{
+		If (And(PRTC, 0x80)) {
+			Return (STA_DISABLED)
+		} Else {
+			Return (STA_INVISIBLE)
+		}
+	}
+}
+
+Device (LNKD)
+{
+	Name(_HID, EISAID("PNP0C0F"))
+	Name(_UID, 4)
+
+	/* Disable method */
+	Method(_DIS, 0, Serialized)
+	{
+		Store(0x80, PRTD)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name(_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared) { 5, 6, 7, 10, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method(_CRS, 0, Serialized)
+	{
+		Name(RTLD, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLD, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store(Zero, IRQ0)
+
+		/* Set the bit from PRTD */
+		ShiftLeft(1, And(PRTD, 0x0f), IRQ0)
+
+		Return (RTLD)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method(_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTD)
+	}
+
+	/* Status */
+	Method(_STA, 0, Serialized)
+	{
+		If (And(PRTD, 0x80)) {
+			Return (STA_DISABLED)
+		} Else {
+			Return (STA_INVISIBLE)
+		}
+	}
+}
+
+Device (LNKE)
+{
+	Name(_HID, EISAID("PNP0C0F"))
+	Name(_UID, 5)
+
+	/* Disable method */
+	Method(_DIS, 0, Serialized)
+	{
+		Store(0x80, PRTE)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name(_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared) { 5, 6, 7, 10, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method(_CRS, 0, Serialized)
+	{
+		Name(RTLE, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLE, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store(Zero, IRQ0)
+
+		/* Set the bit from PRTE */
+		ShiftLeft(1, And(PRTE, 0x0f), IRQ0)
+
+		Return (RTLE)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method(_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTE)
+	}
+
+	/* Status */
+	Method(_STA, 0, Serialized)
+	{
+		If (And(PRTE, 0x80)) {
+			Return (STA_DISABLED)
+		} Else {
+			Return (STA_INVISIBLE)
+		}
+	}
+}
+
+Device (LNKF)
+{
+	Name(_HID, EISAID("PNP0C0F"))
+	Name(_UID, 6)
+
+	/* Disable method */
+	Method(_DIS, 0, Serialized)
+	{
+		Store(0x80, PRTF)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name(_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared) { 5, 6, 7, 10, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method(_CRS, 0, Serialized)
+	{
+		Name(RTLF, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLF, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store(Zero, IRQ0)
+
+		/* Set the bit from PRTF */
+		ShiftLeft(1, And(PRTF, 0x0f), IRQ0)
+
+		Return (RTLF)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method(_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTF)
+	}
+
+	/* Status */
+	Method(_STA, 0, Serialized)
+	{
+		If (And(PRTF, 0x80)) {
+			Return (STA_DISABLED)
+		} Else {
+			Return (STA_INVISIBLE)
+		}
+	}
+}
+
+Device (LNKG)
+{
+	Name(_HID, EISAID("PNP0C0F"))
+	Name(_UID, 7)
+
+	/* Disable method */
+	Method(_DIS, 0, Serialized)
+	{
+		Store(0x80, PRTG)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name(_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared) { 5, 6, 7, 10, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method(_CRS, 0, Serialized)
+	{
+		Name(RTLG, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLG, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store(Zero, IRQ0)
+
+		/* Set the bit from PRTG */
+		ShiftLeft(1, And(PRTG, 0x0f), IRQ0)
+
+		Return (RTLG)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method(_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTG)
+	}
+
+	/* Status */
+	Method(_STA, 0, Serialized)
+	{
+		If (And(PRTG, 0x80)) {
+			Return (STA_DISABLED)
+		} Else {
+			Return (STA_INVISIBLE)
+		}
+	}
+}
+
+Device (LNKH)
+{
+	Name(_HID, EISAID("PNP0C0F"))
+	Name(_UID, 8)
+
+	/* Disable method */
+	Method(_DIS, 0, Serialized)
+	{
+		Store(0x80, PRTH)
+	}
+
+	/* Possible Resource Settings for this Link */
+	Name(_PRS, ResourceTemplate()
+	{
+		IRQ(Level, ActiveLow, Shared) { 5, 6, 7, 10, 11, 12, 14, 15 }
+	})
+
+	/* Current Resource Settings for this link */
+	Method(_CRS, 0, Serialized)
+	{
+		Name(RTLH, ResourceTemplate()
+		{
+			IRQ(Level, ActiveLow, Shared) {}
+		})
+		CreateWordField(RTLH, 1, IRQ0)
+
+		/* Clear the WordField */
+		Store(Zero, IRQ0)
+
+		/* Set the bit from PRTH */
+		ShiftLeft(1, And(PRTH, 0x0f), IRQ0)
+
+		Return (RTLH)
+	}
+
+	/* Set Resource Setting for this IRQ link */
+	Method(_SRS, 1, Serialized)
+	{
+		CreateWordField(Arg0, 1, IRQ0)
+
+		/* Which bit is set? */
+		FindSetRightBit(IRQ0, Local0)
+
+		Decrement(Local0)
+		Store(Local0, PRTH)
+	}
+
+	/* Status */
+	Method(_STA, 0, Serialized)
+	{
+		If (And(PRTH, 0x80)) {
+			Return (STA_DISABLED)
+		} Else {
+			Return (STA_INVISIBLE)
+		}
+	}
+}
diff --git a/arch/x86/include/asm/arch-baytrail/acpi/irqroute.asl b/arch/x86/include/asm/arch-baytrail/acpi/irqroute.asl
new file mode 100644
index 0000000..64d3820
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/acpi/irqroute.asl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/acpi/irqroute.asl
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+Name(\PICM, 0)
+
+/*
+ * The _PIC method is called by the OS to choose between interrupt
+ * routing via the i8259 interrupt controller or the APIC.
+ *
+ * _PIC is called with a parameter of 0 for i8259 configuration and
+ * with a parameter of 1 for Local APIC/IOAPIC configuration.
+ */
+Method(\_PIC, 1)
+{
+	/* Remember the OS' IRQ routing choice */
+	Store(Arg0, PICM)
+}
+
+/* PCI interrupt routing */
+Method(_PRT) {
+	If (PICM) {
+		Return (Package() {
+			#undef PIC_MODE
+			#include "irq_helper.h"
+			PCI_DEV_PIRQ_ROUTES
+		})
+	} Else {
+		Return (Package() {
+			#define PIC_MODE
+			#include "irq_helper.h"
+			PCI_DEV_PIRQ_ROUTES
+		})
+	}
+
+}
+
+/* PCIe downstream ports interrupt routing */
+PCIE_BRIDGE_IRQ_ROUTES
+#undef PIC_MODE
+#include "irq_helper.h"
+PCIE_BRIDGE_IRQ_ROUTES
diff --git a/arch/x86/include/asm/arch-baytrail/acpi/irqroute.h b/arch/x86/include/asm/arch-baytrail/acpi/irqroute.h
new file mode 100644
index 0000000..d746314
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/acpi/irqroute.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <asm/arch/device.h>
+
+#define PCI_DEV_PIRQ_ROUTES \
+	PCI_DEV_PIRQ_ROUTE(GFX_DEV,	A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(EMMC_DEV,	A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(SDIO_DEV,	A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(SD_DEV,	A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(SATA_DEV,	A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(XHCI_DEV,	A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(LPE_DEV,	A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(MMC45_DEV,	A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(SIO1_DEV,	A, B, C, D), \
+	PCI_DEV_PIRQ_ROUTE(TXE_DEV,	A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(HDA_DEV,	A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(PCIE_DEV,	A, B, C, D), \
+	PCI_DEV_PIRQ_ROUTE(EHCI_DEV,	A, A, A, A), \
+	PCI_DEV_PIRQ_ROUTE(SIO2_DEV,	A, B, C, D), \
+	PCI_DEV_PIRQ_ROUTE(PCU_DEV,	A, B, C, D)
+
+#define PCIE_BRIDGE_IRQ_ROUTES \
+	PCIE_BRIDGE_DEV(RP, PCIE_DEV,	A, B, C, D)
diff --git a/arch/x86/include/asm/arch-baytrail/acpi/lpc.asl b/arch/x86/include/asm/arch-baytrail/acpi/lpc.asl
new file mode 100644
index 0000000..385671c
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/acpi/lpc.asl
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/acpi/lpc.asl
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/* Intel LPC Bus Device - 0:1f.0 */
+
+Device (LPCB)
+{
+	Name(_ADR, 0x001f0000)
+
+	OperationRegion(LPC0, PCI_Config, 0x00, 0x100)
+	Field(LPC0, AnyAcc, NoLock, Preserve) {
+		Offset(0x08),
+		SRID, 8,
+		Offset(0x80),
+		C1EN, 1,
+		Offset(0x84)
+	}
+
+	#include "irqlinks.asl"
+
+	/* Firmware Hub */
+	Device (FWH)
+	{
+		Name(_HID, EISAID("INT0800"))
+		Name(_CRS, ResourceTemplate()
+		{
+			Memory32Fixed(ReadOnly, 0xff000000, 0x01000000)
+		})
+	}
+
+	/* 8259 Interrupt Controller */
+	Device (PIC)
+	{
+		Name(_HID, EISAID("PNP0000"))
+		Name(_CRS, ResourceTemplate()
+		{
+			IO(Decode16, 0x20, 0x20, 0x01, 0x02)
+			IO(Decode16, 0x24, 0x24, 0x01, 0x02)
+			IO(Decode16, 0x28, 0x28, 0x01, 0x02)
+			IO(Decode16, 0x2c, 0x2c, 0x01, 0x02)
+			IO(Decode16, 0x30, 0x30, 0x01, 0x02)
+			IO(Decode16, 0x34, 0x34, 0x01, 0x02)
+			IO(Decode16, 0x38, 0x38, 0x01, 0x02)
+			IO(Decode16, 0x3c, 0x3c, 0x01, 0x02)
+			IO(Decode16, 0xa0, 0xa0, 0x01, 0x02)
+			IO(Decode16, 0xa4, 0xa4, 0x01, 0x02)
+			IO(Decode16, 0xa8, 0xa8, 0x01, 0x02)
+			IO(Decode16, 0xac, 0xac, 0x01, 0x02)
+			IO(Decode16, 0xb0, 0xb0, 0x01, 0x02)
+			IO(Decode16, 0xb4, 0xb4, 0x01, 0x02)
+			IO(Decode16, 0xb8, 0xb8, 0x01, 0x02)
+			IO(Decode16, 0xbc, 0xbc, 0x01, 0x02)
+			IO(Decode16, 0x4d0, 0x4d0, 0x01, 0x02)
+			IRQNoFlags () { 2 }
+		})
+	}
+
+	/* 8254 timer */
+	Device (TIMR)
+	{
+		Name(_HID, EISAID("PNP0100"))
+		Name(_CRS, ResourceTemplate()
+		{
+			IO(Decode16, 0x40, 0x40, 0x01, 0x04)
+			IO(Decode16, 0x50, 0x50, 0x10, 0x04)
+			IRQNoFlags() { 0 }
+		})
+	}
+
+	/* HPET */
+	Device (HPET)
+	{
+		Name(_HID, EISAID("PNP0103"))
+		Name(_CID, 0x010CD041)
+		Name(_CRS, ResourceTemplate()
+		{
+			Memory32Fixed(ReadOnly, HPET_BASE_ADDRESS, HPET_BASE_SIZE)
+		})
+
+		Method(_STA)
+		{
+			Return (STA_VISIBLE)
+		}
+	}
+
+	/* Internal UART */
+	Device (IURT)
+	{
+		Name(_HID, EISAID("PNP0501"))
+		Name(_UID, 1)
+
+		Method(_STA, 0, Serialized)
+		{
+			/*
+			 * TODO:
+			 *
+			 * Need to hide the internal UART depending on whether
+			 * internal UART is enabled or not so that external
+			 * SuperIO UART can be exposed to system.
+			 */
+			Store(1, UI3E)
+			Store(1, UI4E)
+			Store(1, C1EN)
+			Return (STA_VISIBLE)
+
+		}
+
+		Method(_DIS, 0, Serialized)
+		{
+			Store(0, UI3E)
+			Store(0, UI4E)
+			Store(0, C1EN)
+		}
+
+		Method(_CRS, 0, Serialized)
+		{
+			Name(BUF0, ResourceTemplate()
+			{
+				IO(Decode16, 0x03f8, 0x03f8, 0x01, 0x08)
+				IRQNoFlags() { 3 }
+			})
+
+			Name(BUF1, ResourceTemplate()
+			{
+				IO(Decode16, 0x03f8, 0x03f8, 0x01, 0x08)
+				IRQNoFlags() { 4 }
+			})
+
+			If (LLessEqual(SRID, 0x04)) {
+				Return (BUF0)
+			} Else {
+				Return (BUF1)
+			}
+		}
+	}
+
+	/* Real Time Clock */
+	Device (RTC)
+	{
+		Name(_HID, EISAID("PNP0B00"))
+		Name(_CRS, ResourceTemplate()
+		{
+			IO(Decode16, 0x70, 0x70, 1, 8)
+			/*
+			 * Disable as Windows doesn't like it, and systems
+			 * don't seem to use it
+			 */
+			/* IRQNoFlags() { 8 } */
+		})
+	}
+
+	/* LPC device: Resource consumption */
+	Device (LDRC)
+	{
+		Name(_HID, EISAID("PNP0C02"))
+		Name(_UID, 2)
+
+		Name(RBUF, ResourceTemplate()
+		{
+			IO(Decode16, 0x61, 0x61, 0x1, 0x01) /* NMI Status */
+			IO(Decode16, 0x63, 0x63, 0x1, 0x01) /* CPU Reserved */
+			IO(Decode16, 0x65, 0x65, 0x1, 0x01) /* CPU Reserved */
+			IO(Decode16, 0x67, 0x67, 0x1, 0x01) /* CPU Reserved */
+			IO(Decode16, 0x80, 0x80, 0x1, 0x01) /* Port 80 Post */
+			IO(Decode16, 0x92, 0x92, 0x1, 0x01) /* CPU Reserved */
+			IO(Decode16, 0xb2, 0xb2, 0x1, 0x02) /* SWSMI */
+		})
+
+		Method(_CRS, 0, NotSerialized)
+		{
+			Return (RBUF)
+		}
+	}
+}
diff --git a/arch/x86/include/asm/arch-baytrail/acpi/platform.asl b/arch/x86/include/asm/arch-baytrail/acpi/platform.asl
new file mode 100644
index 0000000..6bc82ec
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/acpi/platform.asl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <asm/acpi/statdef.asl>
+#include <asm/arch/iomap.h>
+#include <asm/arch/irq.h>
+
+/*
+ * The _PTS method (Prepare To Sleep) is called before the OS is
+ * entering a sleep state. The sleep state number is passed in Arg0.
+ */
+Method(_PTS, 1)
+{
+}
+
+/* The _WAK method is called on system wakeup */
+Method(_WAK, 1)
+{
+	Return (Package() {0, 0})
+}
+
+/* TODO: add CPU ASL support */
+
+Scope (\_SB)
+{
+	#include "southcluster.asl"
+
+	/* ACPI devices */
+	#include "gpio.asl"
+}
+
+/* Chipset specific sleep states */
+#include "sleepstates.asl"
diff --git a/arch/x86/include/asm/arch-baytrail/acpi/sleepstates.asl b/arch/x86/include/asm/arch-baytrail/acpi/sleepstates.asl
new file mode 100644
index 0000000..eb5ae76
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/acpi/sleepstates.asl
@@ -0,0 +1,13 @@
+/*
+ * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/acpi/sleepstates.asl
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+Name(\_S0, Package() {0x0, 0x0, 0x0, 0x0})
+Name(\_S3, Package() {0x5, 0x0, 0x0, 0x0})
+Name(\_S4, Package() {0x6, 0x0, 0x0, 0x0})
+Name(\_S5, Package() {0x7, 0x0, 0x0, 0x0})
diff --git a/arch/x86/include/asm/arch-baytrail/acpi/southcluster.asl b/arch/x86/include/asm/arch-baytrail/acpi/southcluster.asl
new file mode 100644
index 0000000..34d3951
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/acpi/southcluster.asl
@@ -0,0 +1,211 @@
+/*
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/acpi/southcluster.asl
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+Device (PCI0)
+{
+	Name(_HID, EISAID("PNP0A08"))	/* PCIe */
+	Name(_CID, EISAID("PNP0A03"))	/* PCI */
+
+	Name(_ADR, 0)
+	Name(_BBN, 0)
+
+	Name(MCRS, ResourceTemplate()
+	{
+		/* Bus Numbers */
+		WordBusNumber(ResourceProducer, MinFixed, MaxFixed, PosDecode,
+				0x0000, 0x0000, 0x00ff, 0x0000, 0x0100, , , PB00)
+
+		/* IO Region 0 */
+		WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
+				0x0000, 0x0000, 0x0cf7, 0x0000, 0x0cf8, , , PI00)
+
+		/* PCI Config Space */
+		IO(Decode16, 0x0cf8, 0x0cf8, 0x0001, 0x0008)
+
+		/* IO Region 1 */
+		WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
+				0x0000, 0x0d00, 0xffff, 0x0000, 0xf300, , , PI01)
+
+		/* VGA memory (0xa0000-0xbffff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000a0000, 0x000bffff, 0x00000000,
+				0x00020000, , , ASEG)
+
+		/* OPROM reserved (0xc0000-0xc3fff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000c0000, 0x000c3fff, 0x00000000,
+				0x00004000, , , OPR0)
+
+		/* OPROM reserved (0xc4000-0xc7fff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000c4000, 0x000c7fff, 0x00000000,
+				0x00004000, , , OPR1)
+
+		/* OPROM reserved (0xc8000-0xcbfff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000c8000, 0x000cbfff, 0x00000000,
+				0x00004000, , , OPR2)
+
+		/* OPROM reserved (0xcc000-0xcffff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000cc000, 0x000cffff, 0x00000000,
+				0x00004000, , , OPR3)
+
+		/* OPROM reserved (0xd0000-0xd3fff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000d0000, 0x000d3fff, 0x00000000,
+				0x00004000, , , OPR4)
+
+		/* OPROM reserved (0xd4000-0xd7fff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000d4000, 0x000d7fff, 0x00000000,
+				0x00004000, , , OPR5)
+
+		/* OPROM reserved (0xd8000-0xdbfff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000d8000, 0x000dbfff, 0x00000000,
+				0x00004000, , , OPR6)
+
+		/* OPROM reserved (0xdc000-0xdffff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000dc000, 0x000dffff, 0x00000000,
+				0x00004000, , , OPR7)
+
+		/* BIOS Extension (0xe0000-0xe3fff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000e0000, 0x000e3fff, 0x00000000,
+				0x00004000, , , ESG0)
+
+		/* BIOS Extension (0xe4000-0xe7fff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000e4000, 0x000e7fff, 0x00000000,
+				0x00004000, , , ESG1)
+
+		/* BIOS Extension (0xe8000-0xebfff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000e8000, 0x000ebfff, 0x00000000,
+				0x00004000, , , ESG2)
+
+		/* BIOS Extension (0xec000-0xeffff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000ec000, 0x000effff, 0x00000000,
+				0x00004000, , , ESG3)
+
+		/* System BIOS (0xf0000-0xfffff) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x000f0000, 0x000fffff, 0x00000000,
+				0x00010000, , , FSEG)
+
+		/* PCI Memory Region (TOLM-CONFIG_MMCONF_BASE_ADDRESS) */
+		DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x00000000, 0x00000000, 0x00000000,
+				0x00000000, , , PMEM)
+
+		/* High PCI Memory Region */
+		QwordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed,
+				Cacheable, ReadWrite,
+				0x00000000, 0x00000000, 0x00000000, 0x00000000,
+				0x00000000, , , UMEM)
+	})
+
+	Method(_CRS, 0, Serialized)
+	{
+		/* Update PCI resource area */
+		CreateDwordField(MCRS, ^PMEM._MIN, PMIN)
+		CreateDwordField(MCRS, ^PMEM._MAX, PMAX)
+		CreateDwordField(MCRS, ^PMEM._LEN, PLEN)
+
+		/*
+		 * Hardcode TOLM to 2GB for now as BayTrail FSP uses this value.
+		 *
+		 * TODO: for generic usage, read TOLM value from register, or
+		 * from global NVS (not implemented by U-Boot yet).
+		 */
+		Store(0x80000000, PMIN)
+		Store(Subtract(MCFG_BASE_ADDRESS, 1), PMAX)
+		Add(Subtract(PMAX, PMIN), 1, PLEN)
+
+		/* Update High PCI resource area */
+		CreateQwordField(MCRS, ^UMEM._MIN, UMIN)
+		CreateQwordField(MCRS, ^UMEM._MAX, UMAX)
+		CreateQwordField(MCRS, ^UMEM._LEN, ULEN)
+
+		/* Set base address to 48GB and allocate 16GB for PCI space */
+		Store(0xc00000000, UMIN)
+		Store(0x400000000, ULEN)
+		Add(UMIN, Subtract(ULEN, 1), UMAX)
+
+		Return (MCRS)
+	}
+
+	/* Device Resource Consumption */
+	Device (PDRC)
+	{
+		Name(_HID, EISAID("PNP0C02"))
+		Name(_UID, 1)
+
+		Name(PDRS, ResourceTemplate() {
+			Memory32Fixed(ReadWrite, MCFG_BASE_ADDRESS, MCFG_BASE_SIZE)
+			Memory32Fixed(ReadWrite, ABORT_BASE_ADDRESS, ABORT_BASE_SIZE)
+			Memory32Fixed(ReadWrite, SPI_BASE_ADDRESS, SPI_BASE_SIZE)
+			Memory32Fixed(ReadWrite, PMC_BASE_ADDRESS, PMC_BASE_SIZE)
+			Memory32Fixed(ReadWrite, PUNIT_BASE_ADDRESS, PUNIT_BASE_SIZE)
+			Memory32Fixed(ReadWrite, ILB_BASE_ADDRESS, ILB_BASE_SIZE)
+			Memory32Fixed(ReadWrite, RCBA_BASE_ADDRESS, RCBA_BASE_SIZE)
+			Memory32Fixed(ReadWrite, MPHY_BASE_ADDRESS, MPHY_BASE_SIZE)
+		})
+
+		/* Current Resource Settings */
+		Method(_CRS, 0, Serialized)
+		{
+			Return (PDRS)
+		}
+	}
+
+	Method(_OSC, 4)
+	{
+		/* Check for proper GUID */
+		If (LEqual(Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) {
+			/* Let OS control everything */
+			Return (Arg3)
+		} Else {
+			/* Unrecognized UUID */
+			CreateDWordField(Arg3, 0, CDW1)
+			Or(CDW1, 4, CDW1)
+			Return (Arg3)
+		}
+	}
+
+	/* LPC Bridge 0:1f.0 */
+	#include "lpc.asl"
+
+	/* USB EHCI 0:1d.0 */
+	#include "usb.asl"
+
+	/* USB XHCI 0:14.0 */
+	#include "xhci.asl"
+
+	/* IRQ routing for each PCI device */
+	#include "irqroute.asl"
+}
diff --git a/arch/x86/include/asm/arch-baytrail/acpi/usb.asl b/arch/x86/include/asm/arch-baytrail/acpi/usb.asl
new file mode 100644
index 0000000..311f471
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/acpi/usb.asl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2007-2009 coresystems GmbH
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/acpi/usb.asl
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/* EHCI Controller 0:1d.0 */
+
+Device (EHC1)
+{
+	Name(_ADR, 0x001d0000)
+
+	/* Power Resources for Wake */
+	Name(_PRW, Package() { 13, 4 })
+
+	/* Highest D state in S3 state */
+	Name(_S3D, 2)
+
+	/* Highest D state in S4 state */
+	Name(_S4D, 2)
+
+	Device (HUB7)
+	{
+		Name(_ADR, 0x00000000)
+
+		Device(PRT1) { Name(_ADR, 1) }	/* USB Port 0 */
+		Device(PRT2) { Name(_ADR, 2) }	/* USB Port 1 */
+		Device(PRT3) { Name(_ADR, 3) }	/* USB Port 2 */
+		Device(PRT4) { Name(_ADR, 4) }	/* USB Port 3 */
+	}
+}
diff --git a/arch/x86/include/asm/arch-baytrail/acpi/xhci.asl b/arch/x86/include/asm/arch-baytrail/acpi/xhci.asl
new file mode 100644
index 0000000..a5a4404
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/acpi/xhci.asl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2014 Google Inc.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/acpi/xhci.asl
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/* XHCI Controller 0:14.0 */
+
+Device (XHCI)
+{
+	Name(_ADR, 0x00140000)
+
+	/* Power Resources for Wake */
+	Name(_PRW, Package() { 13, 3 })
+
+	/* Highest D state in S3 state */
+	Name(_S3D, 3)
+
+	Device (RHUB)
+	{
+		Name(_ADR, 0x00000000)
+
+		Device (PRT1) { Name(_ADR, 1) }	/* USB Port 0 */
+		Device (PRT2) { Name(_ADR, 2) }	/* USB Port 1 */
+		Device (PRT3) { Name(_ADR, 3) }	/* USB Port 2 */
+		Device (PRT4) { Name(_ADR, 4) }	/* USB Port 3 */
+	}
+}
diff --git a/arch/x86/include/asm/arch-baytrail/device.h b/arch/x86/include/asm/arch-baytrail/device.h
new file mode 100644
index 0000000..798d35b
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/device.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/include/soc/pci_devs.h
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef _DEVICE_H_
+#define _DEVICE_H_
+
+/*
+ * Internal PCI device numbers within the SoC.
+ *
+ * Note it must start with 0x_ prefix, as the device number macro will be
+ * included in the ACPI ASL files (see irq_helper.h and irq_route.h).
+ */
+
+/* SoC transaction router */
+#define SOC_DEV		0x00
+
+/* Graphics and Display */
+#define GFX_DEV		0x02
+
+/* MIPI */
+#define MIPI_DEV	0x03
+
+/* EMMC Port */
+#define EMMC_DEV	0x10
+
+/* SDIO Port */
+#define SDIO_DEV	0x11
+
+/* SD Port */
+#define SD_DEV		0x12
+
+/* SATA */
+#define SATA_DEV	0x13
+
+/* xHCI */
+#define XHCI_DEV	0x14
+
+/* LPE Audio */
+#define LPE_DEV		0x15
+
+/* OTG */
+#define OTG_DEV		0x16
+
+/* MMC45 Port */
+#define MMC45_DEV	0x17
+
+/* Serial IO 1 */
+#define SIO1_DEV	0x18
+
+/* Trusted Execution Engine */
+#define TXE_DEV		0x1a
+
+/* HD Audio */
+#define HDA_DEV		0x1b
+
+/* PCIe Ports */
+#define PCIE_DEV	0x1c
+
+/* EHCI */
+#define EHCI_DEV	0x1d
+
+/* Serial IO 2 */
+#define SIO2_DEV	0x1e
+
+/* Platform Controller Unit */
+#define PCU_DEV		0x1f
+
+#endif /* _DEVICE_H_ */
diff --git a/arch/x86/include/asm/arch-baytrail/iomap.h b/arch/x86/include/asm/arch-baytrail/iomap.h
new file mode 100644
index 0000000..62a9105
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/iomap.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/include/soc/iomap.h
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef _BAYTRAIL_IOMAP_H_
+#define _BAYTRAIL_IOMAP_H_
+
+/* Memory Mapped IO bases */
+
+/* PCI Configuration Space */
+#define MCFG_BASE_ADDRESS		CONFIG_PCIE_ECAM_BASE
+#define MCFG_BASE_SIZE			0x10000000
+
+/* Temporary Base Address */
+#define TEMP_BASE_ADDRESS		0xfd000000
+
+/* Transactions in this range will abort */
+#define ABORT_BASE_ADDRESS		0xfeb00000
+#define ABORT_BASE_SIZE			0x00100000
+
+/* High Performance Event Timer */
+#define HPET_BASE_ADDRESS		0xfed00000
+#define HPET_BASE_SIZE			0x400
+
+/* SPI Bus */
+#define SPI_BASE_ADDRESS		0xfed01000
+#define SPI_BASE_SIZE			0x400
+
+/* Power Management Controller */
+#define PMC_BASE_ADDRESS		0xfed03000
+#define PMC_BASE_SIZE			0x400
+
+/* Power Management Unit */
+#define PUNIT_BASE_ADDRESS		0xfed05000
+#define PUNIT_BASE_SIZE			0x800
+
+/* Intel Legacy Block */
+#define ILB_BASE_ADDRESS		0xfed08000
+#define ILB_BASE_SIZE			0x400
+
+/* IO Memory */
+#define IO_BASE_ADDRESS			0xfed0c000
+#define  IO_BASE_OFFSET_GPSCORE		0x0000
+#define  IO_BASE_OFFSET_GPNCORE		0x1000
+#define  IO_BASE_OFFSET_GPSSUS		0x2000
+#define IO_BASE_SIZE			0x4000
+
+/* Root Complex Base Address */
+#define RCBA_BASE_ADDRESS		0xfed1c000
+#define RCBA_BASE_SIZE			0x400
+
+/* MODPHY */
+#define MPHY_BASE_ADDRESS		0xfef00000
+#define MPHY_BASE_SIZE			0x100000
+
+/* IO Port bases */
+#define ACPI_BASE_ADDRESS		0x0400
+#define ACPI_BASE_SIZE			0x80
+
+#define GPIO_BASE_ADDRESS		0x0500
+#define GPIO_BASE_SIZE			0x100
+
+#define SMBUS_BASE_ADDRESS		0xefa0
+
+#endif /* _BAYTRAIL_IOMAP_H_ */
diff --git a/arch/x86/include/asm/arch-baytrail/irq.h b/arch/x86/include/asm/arch-baytrail/irq.h
new file mode 100644
index 0000000..cd66f83
--- /dev/null
+++ b/arch/x86/include/asm/arch-baytrail/irq.h
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Modified from coreboot src/soc/intel/baytrail/include/soc/irq.h
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef _BAYTRAIL_IRQ_H_
+#define _BAYTRAIL_IRQ_H_
+
+#define PIRQA_APIC_IRQ			16
+#define PIRQB_APIC_IRQ			17
+#define PIRQC_APIC_IRQ			18
+#define PIRQD_APIC_IRQ			19
+#define PIRQE_APIC_IRQ			20
+#define PIRQF_APIC_IRQ			21
+#define PIRQG_APIC_IRQ			22
+#define PIRQH_APIC_IRQ			23
+
+/* The below IRQs are for when devices are in ACPI mode */
+#define LPE_DMA0_IRQ			24
+#define LPE_DMA1_IRQ			25
+#define LPE_SSP0_IRQ			26
+#define LPE_SSP1_IRQ			27
+#define LPE_SSP2_IRQ			28
+#define LPE_IPC2HOST_IRQ		29
+#define LPSS_I2C1_IRQ			32
+#define LPSS_I2C2_IRQ			33
+#define LPSS_I2C3_IRQ			34
+#define LPSS_I2C4_IRQ			35
+#define LPSS_I2C5_IRQ			36
+#define LPSS_I2C6_IRQ			37
+#define LPSS_I2C7_IRQ			38
+#define LPSS_HSUART1_IRQ		39
+#define LPSS_HSUART2_IRQ		40
+#define LPSS_SPI_IRQ			41
+#define LPSS_DMA1_IRQ			42
+#define LPSS_DMA2_IRQ			43
+#define SCC_EMMC_IRQ			44
+#define SCC_SDIO_IRQ			46
+#define SCC_SD_IRQ			47
+#define GPIO_NC_IRQ			48
+#define GPIO_SC_IRQ			49
+#define GPIO_SUS_IRQ			50
+/* GPIO direct / dedicated IRQs */
+#define GPIO_S0_DED_IRQ_0		51
+#define GPIO_S0_DED_IRQ_1		52
+#define GPIO_S0_DED_IRQ_2		53
+#define GPIO_S0_DED_IRQ_3		54
+#define GPIO_S0_DED_IRQ_4		55
+#define GPIO_S0_DED_IRQ_5		56
+#define GPIO_S0_DED_IRQ_6		57
+#define GPIO_S0_DED_IRQ_7		58
+#define GPIO_S0_DED_IRQ_8		59
+#define GPIO_S0_DED_IRQ_9		60
+#define GPIO_S0_DED_IRQ_10		61
+#define GPIO_S0_DED_IRQ_11		62
+#define GPIO_S0_DED_IRQ_12		63
+#define GPIO_S0_DED_IRQ_13		64
+#define GPIO_S0_DED_IRQ_14		65
+#define GPIO_S0_DED_IRQ_15		66
+#define GPIO_S5_DED_IRQ_0		67
+#define GPIO_S5_DED_IRQ_1		68
+#define GPIO_S5_DED_IRQ_2		69
+#define GPIO_S5_DED_IRQ_3		70
+#define GPIO_S5_DED_IRQ_4		71
+#define GPIO_S5_DED_IRQ_5		72
+#define GPIO_S5_DED_IRQ_6		73
+#define GPIO_S5_DED_IRQ_7		74
+#define GPIO_S5_DED_IRQ_8		75
+#define GPIO_S5_DED_IRQ_9		76
+#define GPIO_S5_DED_IRQ_10		77
+#define GPIO_S5_DED_IRQ_11		78
+#define GPIO_S5_DED_IRQ_12		79
+#define GPIO_S5_DED_IRQ_13		80
+#define GPIO_S5_DED_IRQ_14		81
+#define GPIO_S5_DED_IRQ_15		82
+/* DIRQs - Two levels of expansion to evaluate to numeric constants for ASL */
+#define _GPIO_S0_DED_IRQ(slot)		GPIO_S0_DED_IRQ_##slot
+#define _GPIO_S5_DED_IRQ(slot)		GPIO_S5_DED_IRQ_##slot
+#define GPIO_S0_DED_IRQ(slot)		_GPIO_S0_DED_IRQ(slot)
+#define GPIO_S5_DED_IRQ(slot)		_GPIO_S5_DED_IRQ(slot)
+
+#endif /* _BAYTRAIL_IRQ_H_ */
diff --git a/arch/x86/include/asm/coreboot_tables.h b/arch/x86/include/asm/coreboot_tables.h
index 15ccf9b..e036f74 100644
--- a/arch/x86/include/asm/coreboot_tables.h
+++ b/arch/x86/include/asm/coreboot_tables.h
@@ -295,6 +295,25 @@
 #define CBMEM_ID_NONE			0x00000000
 
 /**
+ * high_table_reserve() - reserve configuration table in high memory
+ *
+ * This reserves configuration table in high memory.
+ *
+ * @return:	always 0
+ */
+int high_table_reserve(void);
+
+/**
+ * high_table_malloc() - allocate configuration table in high memory
+ *
+ * This allocates configuration table in high memory.
+ *
+ * @bytes:	size of configuration table to be allocated
+ * @return:	pointer to configuration table in high memory
+ */
+void *high_table_malloc(size_t bytes);
+
+/**
  * write_coreboot_table() - write coreboot table
  *
  * This writes coreboot table at a given address.
diff --git a/arch/x86/include/asm/global_data.h b/arch/x86/include/asm/global_data.h
index 3bc2ac2..7434f77 100644
--- a/arch/x86/include/asm/global_data.h
+++ b/arch/x86/include/asm/global_data.h
@@ -93,6 +93,10 @@
 	char *mrc_output;
 	unsigned int mrc_output_len;
 	ulong table;			/* Table pointer from previous loader */
+#ifdef CONFIG_SEABIOS
+	u32 high_table_ptr;
+	u32 high_table_limit;
+#endif
 };
 
 #endif
diff --git a/arch/x86/include/asm/irq.h b/arch/x86/include/asm/irq.h
index 5b9e673..ddb529e 100644
--- a/arch/x86/include/asm/irq.h
+++ b/arch/x86/include/asm/irq.h
@@ -34,6 +34,8 @@
  *		IRQ N is available to be routed
  * @lb_bdf:	irq router's PCI bus/device/function number encoding
  * @ibase:	IBASE register block base address
+ * @actl_8bit:	ACTL register width is 8-bit (for ICH series chipset)
+ * @actl_addr:	ACTL register offset
  */
 struct irq_router {
 	int config;
@@ -41,6 +43,8 @@
 	u16 irq_mask;
 	u32 bdf;
 	u32 ibase;
+	bool actl_8bit;
+	int actl_addr;
 };
 
 struct pirq_routing {
diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
index dc90df2..e17f0bb 100644
--- a/arch/x86/lib/Makefile
+++ b/arch/x86/lib/Makefile
@@ -10,7 +10,7 @@
 obj-y += bios_interrupts.o
 obj-$(CONFIG_CMD_BOOTM) += bootm.o
 obj-y	+= cmd_boot.o
-obj-y	+= coreboot_table.o
+obj-$(CONFIG_SEABIOS) += coreboot_table.o
 obj-$(CONFIG_EFI) += efi/
 obj-y	+= e820.o
 obj-y	+= gcc.o
@@ -31,7 +31,7 @@
 obj-y += sfi.o
 obj-$(CONFIG_GENERATE_SMBIOS_TABLE) += smbios.o
 obj-y	+= string.o
-ifndef CONFIG_QEMU_ACPI_TABLE
+ifndef CONFIG_QEMU
 obj-$(CONFIG_GENERATE_ACPI_TABLE) += acpi_table.o
 endif
 obj-y	+= tables.o
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index 790f6fb..ffb4678 100644
--- a/arch/x86/lib/acpi_table.c
+++ b/arch/x86/lib/acpi_table.c
@@ -2,6 +2,7 @@
  * Based on acpi.c from coreboot
  *
  * Copyright (C) 2015, Saket Sinha <saket.sinha89@gmail.com>
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
  *
  * SPDX-License-Identifier: GPL-2.0+
  */
@@ -10,25 +11,92 @@
 #include <cpu.h>
 #include <dm.h>
 #include <dm/uclass-internal.h>
-#include <dm/lists.h>
 #include <asm/acpi_table.h>
-#include <asm/cpu.h>
-#include <asm/ioapic.h>
+#include <asm/io.h>
 #include <asm/lapic.h>
 #include <asm/tables.h>
-#include <asm/pci.h>
 
 /*
- * IASL compiles the dsdt entries and
- * writes the hex values to AmlCode array.
- * CamelCase cannot be handled here.
+ * IASL compiles the dsdt entries and writes the hex values
+ * to a C array AmlCode[] (see dsdt.c).
  */
 extern const unsigned char AmlCode[];
 
+static void acpi_write_rsdp(struct acpi_rsdp *rsdp, struct acpi_rsdt *rsdt,
+			    struct acpi_xsdt *xsdt)
+{
+	memset(rsdp, 0, sizeof(struct acpi_rsdp));
+
+	memcpy(rsdp->signature, RSDP_SIG, 8);
+	memcpy(rsdp->oem_id, OEM_ID, 6);
+
+	rsdp->length = sizeof(struct acpi_rsdp);
+	rsdp->rsdt_address = (u32)rsdt;
+
+	/*
+	 * Revision: ACPI 1.0: 0, ACPI 2.0/3.0/4.0: 2
+	 *
+	 * Some OSes expect an XSDT to be present for RSD PTR revisions >= 2.
+	 * If we don't have an ACPI XSDT, force ACPI 1.0 (and thus RSD PTR
+	 * revision 0)
+	 */
+	if (xsdt == NULL) {
+		rsdp->revision = ACPI_RSDP_REV_ACPI_1_0;
+	} else {
+		rsdp->xsdt_address = (u64)(u32)xsdt;
+		rsdp->revision = ACPI_RSDP_REV_ACPI_2_0;
+	}
+
+	/* Calculate checksums */
+	rsdp->checksum = table_compute_checksum((void *)rsdp, 20);
+	rsdp->ext_checksum = table_compute_checksum((void *)rsdp,
+			sizeof(struct acpi_rsdp));
+}
+
+void acpi_fill_header(struct acpi_table_header *header, char *signature)
+{
+	memcpy(header->signature, signature, 4);
+	memcpy(header->oem_id, OEM_ID, 6);
+	memcpy(header->oem_table_id, OEM_TABLE_ID, 8);
+	memcpy(header->aslc_id, ASLC_ID, 4);
+}
+
+static void acpi_write_rsdt(struct acpi_rsdt *rsdt)
+{
+	struct acpi_table_header *header = &(rsdt->header);
+
+	/* Fill out header fields */
+	acpi_fill_header(header, "RSDT");
+	header->length = sizeof(struct acpi_rsdt);
+	header->revision = 1;
+
+	/* Entries are filled in later, we come with an empty set */
+
+	/* Fix checksum */
+	header->checksum = table_compute_checksum((void *)rsdt,
+			sizeof(struct acpi_rsdt));
+}
+
+static void acpi_write_xsdt(struct acpi_xsdt *xsdt)
+{
+	struct acpi_table_header *header = &(xsdt->header);
+
+	/* Fill out header fields */
+	acpi_fill_header(header, "XSDT");
+	header->length = sizeof(struct acpi_xsdt);
+	header->revision = 1;
+
+	/* Entries are filled in later, we come with an empty set */
+
+	/* Fix checksum */
+	header->checksum = table_compute_checksum((void *)xsdt,
+			sizeof(struct acpi_xsdt));
+}
+
 /**
-* Add an ACPI table to the RSDT (and XSDT) structure, recalculate length
-* and checksum.
-*/
+ * Add an ACPI table to the RSDT (and XSDT) structure, recalculate length
+ * and checksum.
+ */
 static void acpi_add_table(struct acpi_rsdp *rsdp, void *table)
 {
 	int i, entries_num;
@@ -50,7 +118,7 @@
 	}
 
 	if (i >= entries_num) {
-		debug("ACPI: Error: too many tables.\n");
+		debug("ACPI: Error: too many tables\n");
 		return;
 	}
 
@@ -58,12 +126,13 @@
 	rsdt->entry[i] = (u32)table;
 
 	/* Fix RSDT length or the kernel will assume invalid entries */
-	rsdt->header.length = sizeof(acpi_header_t) + (sizeof(u32) * (i + 1));
+	rsdt->header.length = sizeof(struct acpi_table_header) +
+				(sizeof(u32) * (i + 1));
 
 	/* Re-calculate checksum */
 	rsdt->header.checksum = 0;
 	rsdt->header.checksum = table_compute_checksum((u8 *)rsdt,
-						       rsdt->header.length);
+			rsdt->header.length);
 
 	/*
 	 * And now the same thing for the XSDT. We use the same index as for
@@ -74,8 +143,8 @@
 		xsdt->entry[i] = (u64)(u32)table;
 
 		/* Fix XSDT length */
-		xsdt->header.length = sizeof(acpi_header_t) +
-			 (sizeof(u64) * (i + 1));
+		xsdt->header.length = sizeof(struct acpi_table_header) +
+			(sizeof(u64) * (i + 1));
 
 		/* Re-calculate checksum */
 		xsdt->header.checksum = 0;
@@ -84,149 +153,6 @@
 	}
 }
 
-static int acpi_create_madt_lapic(struct acpi_madt_lapic *lapic,
-			 u8 cpu, u8 apic)
-{
-	lapic->type = LOCALAPIC; /* Local APIC structure */
-	lapic->length = sizeof(struct acpi_madt_lapic);
-	lapic->flags = LOCAL_APIC_FLAG_ENABLED; /* Processor/LAPIC enabled */
-	lapic->processor_id = cpu;
-	lapic->apic_id = apic;
-
-	return lapic->length;
-}
-
-unsigned long acpi_create_madt_lapics(unsigned long current)
-{
-	struct udevice *dev;
-
-	for (uclass_find_first_device(UCLASS_CPU, &dev);
-	     dev;
-	     uclass_find_next_device(&dev)) {
-		struct cpu_platdata *plat = dev_get_parent_platdata(dev);
-
-		current += acpi_create_madt_lapic(
-			(struct acpi_madt_lapic *)current,
-			plat->cpu_id, plat->cpu_id);
-		}
-		return current;
-}
-
-int acpi_create_madt_ioapic(struct acpi_madt_ioapic *ioapic, u8 id, u32 addr,
-			 u32 gsi_base)
-{
-	ioapic->type = IOAPIC;
-	ioapic->length = sizeof(struct acpi_madt_ioapic);
-	ioapic->reserved = 0x00;
-	ioapic->gsi_base = gsi_base;
-	ioapic->ioapic_id = id;
-	ioapic->ioapic_addr = addr;
-
-	return ioapic->length;
-}
-
-int acpi_create_madt_irqoverride(struct acpi_madt_irqoverride *irqoverride,
-			 u8 bus, u8 source, u32 gsirq, u16 flags)
-{
-	irqoverride->type = IRQSOURCEOVERRIDE;
-	irqoverride->length = sizeof(struct acpi_madt_irqoverride);
-	irqoverride->bus = bus;
-	irqoverride->source = source;
-	irqoverride->gsirq = gsirq;
-	irqoverride->flags = flags;
-
-	return irqoverride->length;
-}
-
-int acpi_create_madt_lapic_nmi(struct acpi_madt_lapic_nmi *lapic_nmi,
-			 u8 cpu, u16 flags, u8 lint)
-{
-	lapic_nmi->type = LOCALNMITYPE;
-	lapic_nmi->length = sizeof(struct acpi_madt_lapic_nmi);
-	lapic_nmi->flags = flags;
-	lapic_nmi->processor_id = cpu;
-	lapic_nmi->lint = lint;
-
-	return lapic_nmi->length;
-}
-
-static void fill_header(acpi_header_t *header, char *signature, int length)
-{
-	memcpy(header->signature, signature, length);
-	memcpy(header->oem_id, OEM_ID, 6);
-	memcpy(header->oem_table_id, ACPI_TABLE_CREATOR, 8);
-	memcpy(header->asl_compiler_id, ASLC, 4);
-}
-
-static void acpi_create_madt(struct acpi_madt *madt)
-{
-	acpi_header_t *header = &(madt->header);
-	unsigned long current = (unsigned long)madt + sizeof(struct acpi_madt);
-
-	memset((void *)madt, 0, sizeof(struct acpi_madt));
-
-	/* Fill out header fields */
-	fill_header(header, "APIC", 4);
-	header->length = sizeof(struct acpi_madt);
-
-	/* ACPI 1.0/2.0: 1, ACPI 3.0: 2, ACPI 4.0: 3 */
-	header->revision = ACPI_REV_ACPI_2_0;
-
-	madt->lapic_addr = LAPIC_DEFAULT_BASE;
-	madt->flags = PCAT_COMPAT;
-
-	current = acpi_fill_madt(current);
-
-	/* (Re)calculate length and checksum */
-	header->length = current - (unsigned long)madt;
-
-	header->checksum = table_compute_checksum((void *)madt, header->length);
-}
-
-static int acpi_create_mcfg_mmconfig(struct acpi_mcfg_mmconfig *mmconfig,
-			 u32 base, u16 seg_nr, u8 start, u8 end)
-{
-	memset(mmconfig, 0, sizeof(*mmconfig));
-	mmconfig->base_address = base;
-	mmconfig->base_reserved = 0;
-	mmconfig->pci_segment_group_number = seg_nr;
-	mmconfig->start_bus_number = start;
-	mmconfig->end_bus_number = end;
-
-	return sizeof(struct acpi_mcfg_mmconfig);
-}
-
-static unsigned long acpi_fill_mcfg(unsigned long current)
-{
-	current += acpi_create_mcfg_mmconfig
-		((struct acpi_mcfg_mmconfig *)current,
-		 CONFIG_PCIE_ECAM_BASE, 0x0, 0x0, 255);
-
-	return current;
-}
-
-/* MCFG is defined in the PCI Firmware Specification 3.0 */
-static void acpi_create_mcfg(struct acpi_mcfg *mcfg)
-{
-	acpi_header_t *header = &(mcfg->header);
-	unsigned long current = (unsigned long)mcfg + sizeof(struct acpi_mcfg);
-
-	memset((void *)mcfg, 0, sizeof(struct acpi_mcfg));
-
-	/* Fill out header fields */
-	fill_header(header, "MCFG", 4);
-	header->length = sizeof(struct acpi_mcfg);
-
-	/* ACPI 1.0/2.0: 1, ACPI 3.0: 2, ACPI 4.0: 3 */
-	header->revision = ACPI_REV_ACPI_2_0;
-
-	current = acpi_fill_mcfg(current);
-
-	/* (Re)calculate length and checksum */
-	header->length = current - (unsigned long)mcfg;
-	header->checksum = table_compute_checksum((void *)mcfg, header->length);
-}
-
 static void acpi_create_facs(struct acpi_facs *facs)
 {
 	memset((void *)facs, 0, sizeof(struct acpi_facs));
@@ -239,101 +165,165 @@
 	facs->flags = 0;
 	facs->x_firmware_waking_vector_l = 0;
 	facs->x_firmware_waking_vector_h = 0;
-	facs->version = 1; /* ACPI 1.0: 0, ACPI 2.0/3.0: 1, ACPI 4.0: 2 */
+	facs->version = 1;
 }
 
-static void acpi_write_rsdt(struct acpi_rsdt *rsdt)
+static int acpi_create_madt_lapic(struct acpi_madt_lapic *lapic,
+				  u8 cpu, u8 apic)
 {
-	acpi_header_t *header = &(rsdt->header);
+	lapic->type = ACPI_APIC_LAPIC;
+	lapic->length = sizeof(struct acpi_madt_lapic);
+	lapic->flags = LOCAL_APIC_FLAG_ENABLED;
+	lapic->processor_id = cpu;
+	lapic->apic_id = apic;
 
-	/* Fill out header fields */
-	fill_header(header, "RSDT", 4);
-	header->length = sizeof(struct acpi_rsdt);
-
-	/* ACPI 1.0/2.0: 1, ACPI 3.0: 2, ACPI 4.0: 3 */
-	header->revision = ACPI_REV_ACPI_2_0;
-
-	/* Entries are filled in later, we come with an empty set */
-
-	/* Fix checksum */
-	header->checksum = table_compute_checksum((void *)rsdt,
-			sizeof(struct acpi_rsdt));
+	return lapic->length;
 }
 
-static void acpi_write_xsdt(struct acpi_xsdt *xsdt)
+int acpi_create_madt_lapics(u32 current)
 {
-	acpi_header_t *header = &(xsdt->header);
+	struct udevice *dev;
+	int length = 0;
 
-	/* Fill out header fields */
-	fill_header(header, "XSDT", 4);
-	header->length = sizeof(struct acpi_xsdt);
+	for (uclass_find_first_device(UCLASS_CPU, &dev);
+	     dev;
+	     uclass_find_next_device(&dev)) {
+		struct cpu_platdata *plat = dev_get_parent_platdata(dev);
 
-	/* ACPI 1.0/2.0: 1, ACPI 3.0: 2, ACPI 4.0: 3 */
-	header->revision = ACPI_REV_ACPI_2_0;
-
-	/* Entries are filled in later, we come with an empty set */
-
-	/* Fix checksum */
-	header->checksum = table_compute_checksum((void *)xsdt,
-			sizeof(struct acpi_xsdt));
-}
-
-static void acpi_write_rsdp(struct acpi_rsdp *rsdp, struct acpi_rsdt *rsdt,
-			 struct acpi_xsdt *xsdt)
-{
-	memset(rsdp, 0, sizeof(struct acpi_rsdp));
-
-	memcpy(rsdp->signature, RSDP_SIG, 8);
-	memcpy(rsdp->oem_id, OEM_ID, 6);
-
-	rsdp->length = sizeof(struct acpi_rsdp);
-	rsdp->rsdt_address = (u32)rsdt;
-
-	/*
-	* Revision: ACPI 1.0: 0, ACPI 2.0/3.0/4.0: 2
-	*
-	* Some OSes expect an XSDT to be present for RSD PTR revisions >= 2.
-	* If we don't have an ACPI XSDT, force ACPI 1.0 (and thus RSD PTR
-	* revision 0)
-	*/
-	if (xsdt == NULL) {
-		rsdp->revision = ACPI_RSDP_REV_ACPI_1_0;
-	} else {
-		rsdp->xsdt_address = (u64)(u32)xsdt;
-		rsdp->revision = ACPI_RSDP_REV_ACPI_2_0;
+		length += acpi_create_madt_lapic(
+			(struct acpi_madt_lapic *)current,
+			plat->cpu_id, plat->cpu_id);
+		current += length;
 	}
 
-	/* Calculate checksums */
-	rsdp->checksum = table_compute_checksum((void *)rsdp, 20);
-	rsdp->ext_checksum = table_compute_checksum((void *)rsdp,
-			sizeof(struct acpi_rsdp));
+	return length;
 }
 
-static void acpi_create_ssdt_generator(acpi_header_t *ssdt,
-			 const char *oem_table_id)
+int acpi_create_madt_ioapic(struct acpi_madt_ioapic *ioapic, u8 id,
+			    u32 addr, u32 gsi_base)
 {
-	unsigned long current = (unsigned long)ssdt + sizeof(acpi_header_t);
+	ioapic->type = ACPI_APIC_IOAPIC;
+	ioapic->length = sizeof(struct acpi_madt_ioapic);
+	ioapic->reserved = 0x00;
+	ioapic->gsi_base = gsi_base;
+	ioapic->ioapic_id = id;
+	ioapic->ioapic_addr = addr;
 
-	memset((void *)ssdt, 0, sizeof(acpi_header_t));
+	return ioapic->length;
+}
 
-	memcpy(&ssdt->signature, "SSDT", 4);
-	/* Access size in ACPI 2.0c/3.0/4.0/5.0 */
-	ssdt->revision = ACPI_REV_ACPI_3_0;
-	memcpy(&ssdt->oem_id, OEM_ID, 6);
-	memcpy(&ssdt->oem_table_id, oem_table_id, 8);
-	ssdt->oem_revision = OEM_REVISION;
-	memcpy(&ssdt->asl_compiler_id, ASLC, 4);
-	ssdt->asl_compiler_revision = ASL_COMPILER_REVISION;
-	ssdt->length = sizeof(acpi_header_t);
+int acpi_create_madt_irqoverride(struct acpi_madt_irqoverride *irqoverride,
+				 u8 bus, u8 source, u32 gsirq, u16 flags)
+{
+	irqoverride->type = ACPI_APIC_IRQ_SRC_OVERRIDE;
+	irqoverride->length = sizeof(struct acpi_madt_irqoverride);
+	irqoverride->bus = bus;
+	irqoverride->source = source;
+	irqoverride->gsirq = gsirq;
+	irqoverride->flags = flags;
+
+	return irqoverride->length;
+}
+
+int acpi_create_madt_lapic_nmi(struct acpi_madt_lapic_nmi *lapic_nmi,
+			       u8 cpu, u16 flags, u8 lint)
+{
+	lapic_nmi->type = ACPI_APIC_LAPIC_NMI;
+	lapic_nmi->length = sizeof(struct acpi_madt_lapic_nmi);
+	lapic_nmi->flags = flags;
+	lapic_nmi->processor_id = cpu;
+	lapic_nmi->lint = lint;
+
+	return lapic_nmi->length;
+}
+
+static void acpi_create_madt(struct acpi_madt *madt)
+{
+	struct acpi_table_header *header = &(madt->header);
+	u32 current = (u32)madt + sizeof(struct acpi_madt);
+
+	memset((void *)madt, 0, sizeof(struct acpi_madt));
+
+	/* Fill out header fields */
+	acpi_fill_header(header, "APIC");
+	header->length = sizeof(struct acpi_madt);
+	header->revision = 4;
+
+	madt->lapic_addr = LAPIC_DEFAULT_BASE;
+	madt->flags = ACPI_MADT_PCAT_COMPAT;
+
+	current = acpi_fill_madt(current);
 
 	/* (Re)calculate length and checksum */
-	ssdt->length = current - (unsigned long)ssdt;
-	ssdt->checksum = table_compute_checksum((void *)ssdt, ssdt->length);
+	header->length = current - (u32)madt;
+
+	header->checksum = table_compute_checksum((void *)madt, header->length);
+}
+
+static int acpi_create_mcfg_mmconfig(struct acpi_mcfg_mmconfig *mmconfig,
+				     u32 base, u16 seg_nr, u8 start, u8 end)
+{
+	memset(mmconfig, 0, sizeof(*mmconfig));
+	mmconfig->base_address_l = base;
+	mmconfig->base_address_h = 0;
+	mmconfig->pci_segment_group_number = seg_nr;
+	mmconfig->start_bus_number = start;
+	mmconfig->end_bus_number = end;
+
+	return sizeof(struct acpi_mcfg_mmconfig);
+}
+
+static u32 acpi_fill_mcfg(u32 current)
+{
+	current += acpi_create_mcfg_mmconfig
+		((struct acpi_mcfg_mmconfig *)current,
+		CONFIG_PCIE_ECAM_BASE, 0x0, 0x0, 255);
+
+	return current;
+}
+
+/* MCFG is defined in the PCI Firmware Specification 3.0 */
+static void acpi_create_mcfg(struct acpi_mcfg *mcfg)
+{
+	struct acpi_table_header *header = &(mcfg->header);
+	u32 current = (u32)mcfg + sizeof(struct acpi_mcfg);
+
+	memset((void *)mcfg, 0, sizeof(struct acpi_mcfg));
+
+	/* Fill out header fields */
+	acpi_fill_header(header, "MCFG");
+	header->length = sizeof(struct acpi_mcfg);
+	header->revision = 1;
+
+	current = acpi_fill_mcfg(current);
+
+	/* (Re)calculate length and checksum */
+	header->length = current - (u32)mcfg;
+	header->checksum = table_compute_checksum((void *)mcfg, header->length);
+}
+
+static void enter_acpi_mode(int pm1_cnt)
+{
+	/*
+	 * PM1_CNT register bit0 selects the power management event to be
+	 * either an SCI or SMI interrupt. When this bit is set, then power
+	 * management events will generate an SCI interrupt. When this bit
+	 * is reset power management events will generate an SMI interrupt.
+	 *
+	 * Per ACPI spec, it is the responsibility of the hardware to set
+	 * or reset this bit. OSPM always preserves this bit position.
+	 *
+	 * U-Boot does not support SMI. And we don't have plan to support
+	 * anything running in SMM within U-Boot. To create a legacy-free
+	 * system, and expose ourselves to OSPM as working under ACPI mode
+	 * already, turn this bit on.
+	 */
+	outw(PM1_CNT_SCI_EN, pm1_cnt);
 }
 
 /*
  * QEMU's version of write_acpi_tables is defined in
- * arch/x86/cpu/qemu/fw_cfg.c
+ * arch/x86/cpu/qemu/acpi_table.c
  */
 u32 write_acpi_tables(u32 start)
 {
@@ -342,18 +332,17 @@
 	struct acpi_rsdt *rsdt;
 	struct acpi_xsdt *xsdt;
 	struct acpi_facs *facs;
-	acpi_header_t *dsdt;
+	struct acpi_table_header *dsdt;
 	struct acpi_fadt *fadt;
 	struct acpi_mcfg *mcfg;
 	struct acpi_madt *madt;
-	acpi_header_t *ssdt;
 
 	current = start;
 
-	/* Align ACPI tables to 16byte */
+	/* Align ACPI tables to 16 byte */
 	current = ALIGN(current, 16);
 
-	debug("ACPI: Writing ACPI tables at %lx.\n", start);
+	debug("ACPI: Writing ACPI tables at %x\n", start);
 
 	/* We need at least an RSDP and an RSDT Table */
 	rsdp = (struct acpi_rsdp *)current;
@@ -364,7 +353,11 @@
 	current = ALIGN(current, 16);
 	xsdt = (struct acpi_xsdt *)current;
 	current += sizeof(struct acpi_xsdt);
-	current = ALIGN(current, 16);
+	/*
+	 * Per ACPI spec, the FACS table address must be aligned to a 64 byte
+	 * boundary (Windows checks this, but Linux does not).
+	 */
+	current = ALIGN(current, 64);
 
 	/* clear all table memory */
 	memset((void *)start, 0, current - start);
@@ -381,21 +374,13 @@
 	acpi_create_facs(facs);
 
 	debug("ACPI:    * DSDT\n");
-	dsdt = (acpi_header_t *)current;
-	memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
-	if (dsdt->length >= sizeof(acpi_header_t)) {
-		current += sizeof(acpi_header_t);
-		memcpy((char *)current,
-				(char *)&AmlCode + sizeof(acpi_header_t),
-				dsdt->length - sizeof(acpi_header_t));
-		current += dsdt->length - sizeof(acpi_header_t);
-
-		/* (Re)calculate length and checksum */
-		dsdt->length = current - (unsigned long)dsdt;
-		dsdt->checksum = 0;
-		dsdt->checksum = table_compute_checksum((void *)dsdt,
-				dsdt->length);
-	}
+	dsdt = (struct acpi_table_header *)current;
+	memcpy(dsdt, &AmlCode, sizeof(struct acpi_table_header));
+	current += sizeof(struct acpi_table_header);
+	memcpy((char *)current,
+	       (char *)&AmlCode + sizeof(struct acpi_table_header),
+	       dsdt->length - sizeof(struct acpi_table_header));
+	current += dsdt->length - sizeof(struct acpi_table_header);
 	current = ALIGN(current, 16);
 
 	debug("ACPI:    * FADT\n");
@@ -405,36 +390,29 @@
 	acpi_create_fadt(fadt, facs, dsdt);
 	acpi_add_table(rsdp, fadt);
 
-	debug("ACPI:    * MCFG\n");
-	mcfg = (struct acpi_mcfg *)current;
-	acpi_create_mcfg(mcfg);
-	if (mcfg->header.length > sizeof(struct acpi_mcfg)) {
-		current += mcfg->header.length;
-		current = ALIGN(current, 16);
-		acpi_add_table(rsdp, mcfg);
-	}
-
 	debug("ACPI:    * MADT\n");
 	madt = (struct acpi_madt *)current;
 	acpi_create_madt(madt);
-	if (madt->header.length > sizeof(struct acpi_madt)) {
-		current += madt->header.length;
-		acpi_add_table(rsdp, madt);
-	}
+	current += madt->header.length;
+	acpi_add_table(rsdp, madt);
 	current = ALIGN(current, 16);
 
-	debug("ACPI:    * SSDT\n");
-	ssdt = (acpi_header_t *)current;
-	acpi_create_ssdt_generator(ssdt, ACPI_TABLE_CREATOR);
-	if (ssdt->length > sizeof(acpi_header_t)) {
-		current += ssdt->length;
-		acpi_add_table(rsdp, ssdt);
-		current = ALIGN(current, 16);
-	}
+	debug("ACPI:    * MCFG\n");
+	mcfg = (struct acpi_mcfg *)current;
+	acpi_create_mcfg(mcfg);
+	current += mcfg->header.length;
+	acpi_add_table(rsdp, mcfg);
+	current = ALIGN(current, 16);
 
-	debug("current = %lx\n", current);
+	debug("current = %x\n", current);
 
-	debug("ACPI: done.\n");
+	debug("ACPI: done\n");
+
+	/*
+	 * Other than waiting for OSPM to request us to switch to ACPI mode,
+	 * do it by ourselves, since SMI will not be triggered.
+	 */
+	enter_acpi_mode(fadt->pm1a_cnt_blk);
 
 	return current;
 }
diff --git a/arch/x86/lib/bootm.c b/arch/x86/lib/bootm.c
index 783be69..7cf9de4 100644
--- a/arch/x86/lib/bootm.c
+++ b/arch/x86/lib/bootm.c
@@ -26,14 +26,6 @@
 
 #define COMMAND_LINE_OFFSET 0x9000
 
-/*
- * Implement a weak default function for boards that optionally
- * need to clean up the system before jumping to the kernel.
- */
-__weak void board_final_cleanup(void)
-{
-}
-
 void bootm_announce_and_cleanup(void)
 {
 	printf("\nStarting kernel ...\n\n");
@@ -45,7 +37,6 @@
 #ifdef CONFIG_BOOTSTAGE_REPORT
 	bootstage_report();
 #endif
-	board_final_cleanup();
 }
 
 #if defined(CONFIG_OF_LIBFDT) && !defined(CONFIG_OF_NO_KERNEL)
diff --git a/arch/x86/lib/coreboot_table.c b/arch/x86/lib/coreboot_table.c
index cb45a79..ceab3cf 100644
--- a/arch/x86/lib/coreboot_table.c
+++ b/arch/x86/lib/coreboot_table.c
@@ -9,6 +9,37 @@
 #include <asm/coreboot_tables.h>
 #include <asm/e820.h>
 
+DECLARE_GLOBAL_DATA_PTR;
+
+int high_table_reserve(void)
+{
+	/* adjust stack pointer to reserve space for configuration tables */
+	gd->arch.high_table_limit = gd->start_addr_sp;
+	gd->start_addr_sp -= CONFIG_HIGH_TABLE_SIZE;
+	gd->arch.high_table_ptr = gd->start_addr_sp;
+
+	/* clear the memory */
+	memset((void *)gd->arch.high_table_ptr, 0, CONFIG_HIGH_TABLE_SIZE);
+
+	gd->start_addr_sp &= ~0xf;
+
+	return 0;
+}
+
+void *high_table_malloc(size_t bytes)
+{
+	u32 new_ptr;
+	void *ptr;
+
+	new_ptr = gd->arch.high_table_ptr + bytes;
+	if (new_ptr >= gd->arch.high_table_limit)
+		return NULL;
+	ptr = (void *)gd->arch.high_table_ptr;
+	gd->arch.high_table_ptr = new_ptr;
+
+	return ptr;
+}
+
 /**
  * cb_table_init() - initialize a coreboot table header
  *
diff --git a/arch/x86/lib/pirq_routing.c b/arch/x86/lib/pirq_routing.c
index 3cc6adb..a93d355 100644
--- a/arch/x86/lib/pirq_routing.c
+++ b/arch/x86/lib/pirq_routing.c
@@ -10,7 +10,6 @@
 #include <pci.h>
 #include <asm/pci.h>
 #include <asm/pirq_routing.h>
-#include <asm/tables.h>
 
 static bool irq_already_routed[16];
 
@@ -111,9 +110,6 @@
 {
 	struct irq_routing_table *rom_rt;
 
-	/* Fix up the table checksum */
-	rt->checksum = table_compute_checksum(rt, rt->size);
-
 	/* Align the table to be 16 byte aligned */
 	addr = ALIGN(addr, 16);
 
diff --git a/arch/x86/lib/smbios.c b/arch/x86/lib/smbios.c
index 441fca9..9f30550 100644
--- a/arch/x86/lib/smbios.c
+++ b/arch/x86/lib/smbios.c
@@ -105,8 +105,8 @@
 
 	memset(t, 0, sizeof(struct smbios_type1));
 	fill_smbios_header(t, SMBIOS_SYSTEM_INFORMATION, len, handle);
-	t->manufacturer = smbios_add_string(t->eos, CONFIG_SYS_VENDOR);
-	t->product_name = smbios_add_string(t->eos, CONFIG_SYS_BOARD);
+	t->manufacturer = smbios_add_string(t->eos, CONFIG_SMBIOS_MANUFACTURER);
+	t->product_name = smbios_add_string(t->eos, CONFIG_SMBIOS_PRODUCT_NAME);
 
 	len = t->length + smbios_string_table_len(t->eos);
 	*current += len;
@@ -121,8 +121,8 @@
 
 	memset(t, 0, sizeof(struct smbios_type2));
 	fill_smbios_header(t, SMBIOS_BOARD_INFORMATION, len, handle);
-	t->manufacturer = smbios_add_string(t->eos, CONFIG_SYS_VENDOR);
-	t->product_name = smbios_add_string(t->eos, CONFIG_SYS_BOARD);
+	t->manufacturer = smbios_add_string(t->eos, CONFIG_SMBIOS_MANUFACTURER);
+	t->product_name = smbios_add_string(t->eos, CONFIG_SMBIOS_PRODUCT_NAME);
 	t->feature_flags = SMBIOS_BOARD_FEATURE_HOSTING;
 	t->board_type = SMBIOS_BOARD_MOTHERBOARD;
 
@@ -139,7 +139,7 @@
 
 	memset(t, 0, sizeof(struct smbios_type3));
 	fill_smbios_header(t, SMBIOS_SYSTEM_ENCLOSURE, len, handle);
-	t->manufacturer = smbios_add_string(t->eos, CONFIG_SYS_VENDOR);
+	t->manufacturer = smbios_add_string(t->eos, CONFIG_SMBIOS_MANUFACTURER);
 	t->chassis_type = SMBIOS_ENCLOSURE_DESKTOP;
 	t->bootup_state = SMBIOS_STATE_SAFE;
 	t->power_supply_state = SMBIOS_STATE_SAFE;
diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c
index a156f2c..f92111e 100644
--- a/arch/x86/lib/tables.c
+++ b/arch/x86/lib/tables.c
@@ -80,9 +80,8 @@
 
 #ifdef CONFIG_SEABIOS
 		table_size = rom_table_end - rom_table_start;
-		high_table = (u32)memalign(ROM_TABLE_ALIGN, table_size);
+		high_table = (u32)high_table_malloc(table_size);
 		if (high_table) {
-			memset((void *)high_table, 0, table_size);
 			table_write_funcs[i](high_table);
 
 			cfg_tables[i].start = high_table;
diff --git a/board/atmel/sama5d2_ptc/Kconfig b/board/atmel/sama5d2_ptc/Kconfig
new file mode 100644
index 0000000..d2661c6
--- /dev/null
+++ b/board/atmel/sama5d2_ptc/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_SAMA5D2_PTC
+
+config SYS_BOARD
+	default "sama5d2_ptc"
+
+config SYS_VENDOR
+	default "atmel"
+
+config SYS_SOC
+	default "at91"
+
+config SYS_CONFIG_NAME
+	default "sama5d2_ptc"
+
+endif
diff --git a/board/atmel/sama5d2_ptc/MAINTAINERS b/board/atmel/sama5d2_ptc/MAINTAINERS
new file mode 100644
index 0000000..7ab03d6
--- /dev/null
+++ b/board/atmel/sama5d2_ptc/MAINTAINERS
@@ -0,0 +1,7 @@
+SAMA5D2 PTC Engineering BOARD
+M:	Wenyou Yang <wenyou.yang@atmel.com>
+S:	Maintained
+F:	board/atmel/sama5d2_ptc/
+F:	include/configs/sama5d2_ptc.h
+F:	configs/sama5d2_ptc_spiflash_defconfig
+F:	configs/sama5d2_ptc_nandflash_defconfig
diff --git a/board/atmel/sama5d2_ptc/Makefile b/board/atmel/sama5d2_ptc/Makefile
new file mode 100644
index 0000000..1fe0392
--- /dev/null
+++ b/board/atmel/sama5d2_ptc/Makefile
@@ -0,0 +1,8 @@
+#
+# Copyright (C) 2016 Atmel
+#		     Wenyou Yang <wenyou.yang@atmel.com>
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y += sama5d2_ptc.o
diff --git a/board/atmel/sama5d2_ptc/sama5d2_ptc.c b/board/atmel/sama5d2_ptc/sama5d2_ptc.c
new file mode 100644
index 0000000..9e6544b
--- /dev/null
+++ b/board/atmel/sama5d2_ptc/sama5d2_ptc.c
@@ -0,0 +1,285 @@
+/*
+ * Copyright (C) 2016 Atmel
+ *		      Wenyou.Yang <wenyou.yang@atmel.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <atmel_hlcdc.h>
+#include <lcd.h>
+#include <mmc.h>
+#include <net.h>
+#include <netdev.h>
+#include <spi.h>
+#include <version.h>
+#include <asm/io.h>
+#include <asm/arch/at91_common.h>
+#include <asm/arch/atmel_pio4.h>
+#include <asm/arch/atmel_mpddrc.h>
+#include <asm/arch/atmel_usba_udc.h>
+#include <asm/arch/atmel_sdhci.h>
+#include <asm/arch/clk.h>
+#include <asm/arch/gpio.h>
+#include <asm/arch/sama5_sfr.h>
+#include <asm/arch/sama5d2.h>
+#include <asm/arch/sama5d3_smc.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int spi_cs_is_valid(unsigned int bus, unsigned int cs)
+{
+	return bus == 0 && cs == 0;
+}
+
+void spi_cs_activate(struct spi_slave *slave)
+{
+	atmel_pio4_set_pio_output(AT91_PIO_PORTA, 17, 0);
+}
+
+void spi_cs_deactivate(struct spi_slave *slave)
+{
+	atmel_pio4_set_pio_output(AT91_PIO_PORTA, 17, 1);
+}
+
+static void board_spi0_hw_init(void)
+{
+	atmel_pio4_set_a_periph(AT91_PIO_PORTA, 14, 0);
+	atmel_pio4_set_a_periph(AT91_PIO_PORTA, 15, 0);
+	atmel_pio4_set_a_periph(AT91_PIO_PORTA, 16, 0);
+
+	atmel_pio4_set_pio_output(AT91_PIO_PORTA, 17, 1);
+
+	at91_periph_clk_enable(ATMEL_ID_SPI0);
+}
+
+static void board_nand_hw_init(void)
+{
+	struct at91_smc *smc = (struct at91_smc *)ATMEL_BASE_SMC;
+	struct atmel_sfr *sfr = (struct atmel_sfr *)ATMEL_BASE_SFR;
+
+	at91_periph_clk_enable(ATMEL_ID_HSMC);
+
+	writel(AT91_SFR_EBICFG_DRIVE0_HIGH |
+	       AT91_SFR_EBICFG_PULL0_NONE |
+	       AT91_SFR_EBICFG_DRIVE1_HIGH |
+	       AT91_SFR_EBICFG_PULL1_NONE, &sfr->ebicfg);
+
+	/* Configure SMC CS3 for NAND */
+	writel(AT91_SMC_SETUP_NWE(1) | AT91_SMC_SETUP_NCS_WR(1) |
+	       AT91_SMC_SETUP_NRD(1) | AT91_SMC_SETUP_NCS_RD(1),
+	       &smc->cs[3].setup);
+	writel(AT91_SMC_PULSE_NWE(2) | AT91_SMC_PULSE_NCS_WR(3) |
+	       AT91_SMC_PULSE_NRD(2) | AT91_SMC_PULSE_NCS_RD(3),
+	       &smc->cs[3].pulse);
+	writel(AT91_SMC_CYCLE_NWE(5) | AT91_SMC_CYCLE_NRD(5),
+	       &smc->cs[3].cycle);
+	writel(AT91_SMC_TIMINGS_TCLR(2) | AT91_SMC_TIMINGS_TADL(7) |
+	       AT91_SMC_TIMINGS_TAR(2)  | AT91_SMC_TIMINGS_TRR(3)   |
+	       AT91_SMC_TIMINGS_TWB(7)  | AT91_SMC_TIMINGS_RBNSEL(3) |
+	       AT91_SMC_TIMINGS_NFSEL(1), &smc->cs[3].timings);
+	writel(AT91_SMC_MODE_RM_NRD | AT91_SMC_MODE_WM_NWE |
+	       AT91_SMC_MODE_EXNW_DISABLE |
+	       AT91_SMC_MODE_DBW_8 |
+	       AT91_SMC_MODE_TDF_CYCLE(3),
+	       &smc->cs[3].mode);
+
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 0, 0);	/* D0 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 1, 0);	/* D1 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 2, 0);	/* D2 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 3, 0);	/* D3 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 4, 0);	/* D4 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 5, 0);	/* D5 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 6, 0);	/* D6 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 7, 0);	/* D7 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 12, 0);	/* RE */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 8, 0);	/* WE */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 9, 1);	/* NCS */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 21, 1);	/* RDY */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 10, 1);	/* ALE */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTA, 11, 1);	/* CLE */
+}
+
+static void board_usb_hw_init(void)
+{
+	atmel_pio4_set_pio_output(AT91_PIO_PORTA, 28, 1);
+}
+
+static void board_gmac_hw_init(void)
+{
+	atmel_pio4_set_f_periph(AT91_PIO_PORTB, 14, 0);	/* GTXCK */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTB, 15, 0);	/* GTXEN */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTB, 16, 0);	/* GRXDV */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTB, 17, 0);	/* GRXER */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTB, 18, 0);	/* GRX0 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTB, 19, 0);	/* GRX1 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTB, 20, 0);	/* GTX0 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTB, 21, 0);	/* GTX1 */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTB, 22, 0);	/* GMDC */
+	atmel_pio4_set_f_periph(AT91_PIO_PORTB, 23, 0);	/* GMDIO */
+
+	at91_periph_clk_enable(ATMEL_ID_GMAC);
+}
+
+static void board_uart0_hw_init(void)
+{
+	atmel_pio4_set_c_periph(AT91_PIO_PORTB, 26, 1);	/* URXD0 */
+	atmel_pio4_set_c_periph(AT91_PIO_PORTB, 27, 0);	/* UTXD0 */
+
+	at91_periph_clk_enable(CONFIG_USART_ID);
+}
+
+int board_early_init_f(void)
+{
+	at91_periph_clk_enable(ATMEL_ID_PIOA);
+	at91_periph_clk_enable(ATMEL_ID_PIOB);
+	at91_periph_clk_enable(ATMEL_ID_PIOC);
+	at91_periph_clk_enable(ATMEL_ID_PIOD);
+
+	board_uart0_hw_init();
+
+	return 0;
+}
+
+int board_init(void)
+{
+	/* address of boot parameters */
+	gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
+
+#ifdef CONFIG_ATMEL_SPI
+	board_spi0_hw_init();
+#endif
+#ifdef CONFIG_NAND_ATMEL
+	board_nand_hw_init();
+#endif
+#ifdef CONFIG_MACB
+	board_gmac_hw_init();
+#endif
+#ifdef CONFIG_CMD_USB
+	board_usb_hw_init();
+#endif
+#ifdef CONFIG_USB_GADGET_ATMEL_USBA
+	at91_udp_hw_init();
+#endif
+
+	return 0;
+}
+
+int dram_init(void)
+{
+	gd->ram_size = get_ram_size((void *)CONFIG_SYS_SDRAM_BASE,
+				    CONFIG_SYS_SDRAM_SIZE);
+	return 0;
+}
+
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+
+#ifdef CONFIG_MACB
+	rc = macb_eth_initialize(0, (void *)ATMEL_BASE_GMAC, 0x00);
+	if (rc)
+		printf("GMAC register failed\n");
+#endif
+
+#ifdef CONFIG_USB_GADGET_ATMEL_USBA
+	usba_udc_probe(&pdata);
+#ifdef CONFIG_USB_ETH_RNDIS
+	usb_eth_initialize(bis);
+#endif
+#endif
+
+	return rc;
+}
+
+/* SPL */
+#ifdef CONFIG_SPL_BUILD
+void spl_board_init(void)
+{
+#ifdef CONFIG_SYS_USE_SERIALFLASH
+	board_spi0_hw_init();
+#endif
+
+#ifdef CONFIG_SYS_USE_NANDFLASH
+	board_nand_hw_init();
+#endif
+}
+
+static void ddrc_conf(struct atmel_mpddrc_config *ddrc)
+{
+	ddrc->md = (ATMEL_MPDDRC_MD_DBW_32_BITS | ATMEL_MPDDRC_MD_DDR3_SDRAM);
+
+	ddrc->cr = (ATMEL_MPDDRC_CR_NC_COL_10 |
+		    ATMEL_MPDDRC_CR_NR_ROW_14 |
+		    ATMEL_MPDDRC_CR_CAS_DDR_CAS5 |
+		    ATMEL_MPDDRC_CR_DIC_DS |
+		    ATMEL_MPDDRC_CR_DIS_DLL |
+		    ATMEL_MPDDRC_CR_NB_8BANKS |
+		    ATMEL_MPDDRC_CR_DECOD_INTERLEAVED |
+		    ATMEL_MPDDRC_CR_UNAL_SUPPORTED);
+
+	ddrc->rtr = 0x511;
+
+	ddrc->tpr0 = ((6 << ATMEL_MPDDRC_TPR0_TRAS_OFFSET) |
+		      (3 << ATMEL_MPDDRC_TPR0_TRCD_OFFSET) |
+		      (4 << ATMEL_MPDDRC_TPR0_TWR_OFFSET) |
+		      (9 << ATMEL_MPDDRC_TPR0_TRC_OFFSET) |
+		      (3 << ATMEL_MPDDRC_TPR0_TRP_OFFSET) |
+		      (4 << ATMEL_MPDDRC_TPR0_TRRD_OFFSET) |
+		      (4 << ATMEL_MPDDRC_TPR0_TWTR_OFFSET) |
+		      (4 << ATMEL_MPDDRC_TPR0_TMRD_OFFSET));
+
+	ddrc->tpr1 = ((27 << ATMEL_MPDDRC_TPR1_TRFC_OFFSET) |
+		      (29 << ATMEL_MPDDRC_TPR1_TXSNR_OFFSET) |
+		      (0 << ATMEL_MPDDRC_TPR1_TXSRD_OFFSET) |
+		      (3 << ATMEL_MPDDRC_TPR1_TXP_OFFSET));
+
+	ddrc->tpr2 = ((0 << ATMEL_MPDDRC_TPR2_TXARD_OFFSET) |
+		      (0 << ATMEL_MPDDRC_TPR2_TXARDS_OFFSET) |
+		      (0 << ATMEL_MPDDRC_TPR2_TRPA_OFFSET) |
+		      (4 << ATMEL_MPDDRC_TPR2_TRTP_OFFSET) |
+		      (7 << ATMEL_MPDDRC_TPR2_TFAW_OFFSET));
+}
+
+void mem_init(void)
+{
+	struct atmel_mpddr *mpddrc = (struct atmel_mpddr *)ATMEL_BASE_MPDDRC;
+	struct atmel_mpddrc_config ddrc_config;
+	u32 reg;
+
+	ddrc_conf(&ddrc_config);
+
+	at91_periph_clk_enable(ATMEL_ID_MPDDRC);
+	at91_system_clk_enable(AT91_PMC_DDR);
+
+	reg = readl(&mpddrc->io_calibr);
+	reg &= ~ATMEL_MPDDRC_IO_CALIBR_RDIV;
+	reg |= ATMEL_MPDDRC_IO_CALIBR_DDR3_RZQ_55;
+	reg &= ~ATMEL_MPDDRC_IO_CALIBR_TZQIO;
+	reg |= ATMEL_MPDDRC_IO_CALIBR_TZQIO_(100);
+	writel(reg, &mpddrc->io_calibr);
+
+	writel(ATMEL_MPDDRC_RD_DATA_PATH_SHIFT_TWO_CYCLE,
+	       &mpddrc->rd_data_path);
+
+	ddr3_init(ATMEL_BASE_MPDDRC, ATMEL_BASE_DDRCS, &ddrc_config);
+
+	writel(0x3, &mpddrc->cal_mr4);
+	writel(64, &mpddrc->tim_cal);
+}
+
+void at91_pmc_init(void)
+{
+	at91_plla_init(AT91_PMC_PLLAR_29 |
+		       AT91_PMC_PLLXR_PLLCOUNT(0x3f) |
+		       AT91_PMC_PLLXR_MUL(82) |
+		       AT91_PMC_PLLXR_DIV(1));
+
+	at91_pllicpr_init(0);
+
+	at91_mck_init(AT91_PMC_MCKR_H32MXDIV |
+		      AT91_PMC_MCKR_PLLADIV_2 |
+		      AT91_PMC_MCKR_MDIV_3 |
+		      AT91_PMC_MCKR_CSS_PLLA);
+}
+#endif
diff --git a/board/atmel/sama5d2_xplained/sama5d2_xplained.c b/board/atmel/sama5d2_xplained/sama5d2_xplained.c
index 10edf28..93df7ba 100644
--- a/board/atmel/sama5d2_xplained/sama5d2_xplained.c
+++ b/board/atmel/sama5d2_xplained/sama5d2_xplained.c
@@ -171,10 +171,11 @@
 	atmel_pio4_set_a_periph(AT91_PIO_PORTA, 9, 0);	/* SDMMC0_DAT7 */
 	atmel_pio4_set_a_periph(AT91_PIO_PORTA, 10, 0);	/* SDMMC0_RSTN */
 	atmel_pio4_set_a_periph(AT91_PIO_PORTA, 11, 0);	/* SDMMC0_VDDSEL */
+	atmel_pio4_set_a_periph(AT91_PIO_PORTA, 13, 0);	/* SDMMC0_CD */
 
 	at91_periph_clk_enable(ATMEL_ID_SDMMC0);
 	at91_enable_periph_generated_clk(ATMEL_ID_SDMMC0,
-					 GCK_CSS_PLLA_CLK, 1);
+					 GCK_CSS_UPLL_CLK, 1);
 }
 
 static void board_sdhci1_hw_init(void)
@@ -190,7 +191,7 @@
 
 	at91_periph_clk_enable(ATMEL_ID_SDMMC1);
 	at91_enable_periph_generated_clk(ATMEL_ID_SDMMC1,
-					 GCK_CSS_PLLA_CLK, 1);
+					 GCK_CSS_UPLL_CLK, 1);
 }
 
 int board_mmc_init(bd_t *bis)
diff --git a/board/cm5200/fwupdate.c b/board/cm5200/fwupdate.c
index 2ed90de..4740c83 100644
--- a/board/cm5200/fwupdate.c
+++ b/board/cm5200/fwupdate.c
@@ -105,7 +105,7 @@
 
 	/* Detect storage device */
 	for (devno = 0; devno < USB_MAX_STOR_DEV; devno++) {
-		stor_dev = usb_stor_get_dev(devno);
+		stor_dev = blk_get_devnum_by_type(IF_TYPE_USB, devno);
 		if (stor_dev->type != DEV_TYPE_UNKNOWN)
 			break;
 	}
diff --git a/board/compulab/common/eeprom.c b/board/compulab/common/eeprom.c
index 6304468..b5f1aa6 100644
--- a/board/compulab/common/eeprom.c
+++ b/board/compulab/common/eeprom.c
@@ -9,6 +9,9 @@
 
 #include <common.h>
 #include <i2c.h>
+#include <eeprom_layout.h>
+#include <eeprom_field.h>
+#include <linux/kernel.h>
 #include "eeprom.h"
 
 #ifndef CONFIG_SYS_I2C_EEPROM_ADDR
@@ -181,3 +184,344 @@
 
 	return err;
 }
+
+#ifdef CONFIG_CMD_EEPROM_LAYOUT
+/**
+ * eeprom_field_print_bin_ver() - print a "version field" which contains binary
+ *				  data
+ *
+ * Treat the field data as simple binary data, and print it formatted as a
+ * version number (2 digits after decimal point).
+ * The field size must be exactly 2 bytes.
+ *
+ * Sample output:
+ *      Field Name      123.45
+ *
+ * @field:	an initialized field to print
+ */
+void eeprom_field_print_bin_ver(const struct eeprom_field *field)
+{
+	if ((field->buf[0] == 0xff) && (field->buf[1] == 0xff)) {
+		field->buf[0] = 0;
+		field->buf[1] = 0;
+	}
+
+	printf(PRINT_FIELD_SEGMENT, field->name);
+	int major = (field->buf[1] << 8 | field->buf[0]) / 100;
+	int minor = (field->buf[1] << 8 | field->buf[0]) - major * 100;
+	printf("%d.%02d\n", major, minor);
+}
+
+/**
+ * eeprom_field_update_bin_ver() - update a "version field" which contains
+ *				   binary data
+ *
+ * This function takes a version string in the form of x.y (x and y are both
+ * decimal values, y is limited to two digits), translates it to the binary
+ * form, then writes it to the field. The field size must be exactly 2 bytes.
+ *
+ * This function strictly enforces the data syntax, and will not update the
+ * field if there's any deviation from it. It also protects from overflow.
+ *
+ * @field:	an initialized field
+ * @value:	a version string
+ *
+ * Returns 0 on success, -1 on failure.
+ */
+int eeprom_field_update_bin_ver(struct eeprom_field *field, char *value)
+{
+	char *endptr;
+	char *tok = strtok(value, ".");
+	if (tok == NULL)
+		return -1;
+
+	int num = simple_strtol(tok, &endptr, 0);
+	if (*endptr != '\0')
+		return -1;
+
+	tok = strtok(NULL, "");
+	if (tok == NULL)
+		return -1;
+
+	int remainder = simple_strtol(tok, &endptr, 0);
+	if (*endptr != '\0')
+		return -1;
+
+	num = num * 100 + remainder;
+	if (num >> 16)
+		return -1;
+
+	field->buf[0] = (unsigned char)num;
+	field->buf[1] = num >> 8;
+
+	return 0;
+}
+
+char *months[12] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
+		    "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
+
+/**
+ * eeprom_field_print_date() - print a field which contains date data
+ *
+ * Treat the field data as simple binary data, and print it formatted as a date.
+ * Sample output:
+ *      Field Name      07/Feb/2014
+ *      Field Name      56/BAD/9999
+ *
+ * @field:	an initialized field to print
+ */
+void eeprom_field_print_date(const struct eeprom_field *field)
+{
+	printf(PRINT_FIELD_SEGMENT, field->name);
+	printf("%02d/", field->buf[0]);
+	if (field->buf[1] >= 1 && field->buf[1] <= 12)
+		printf("%s", months[field->buf[1] - 1]);
+	else
+		printf("BAD");
+
+	printf("/%d\n", field->buf[3] << 8 | field->buf[2]);
+}
+
+static int validate_date(unsigned char day, unsigned char month,
+			unsigned int year)
+{
+	int days_in_february;
+
+	switch (month) {
+	case 0:
+	case 2:
+	case 4:
+	case 6:
+	case 7:
+	case 9:
+	case 11:
+		if (day > 31)
+			return -1;
+		break;
+	case 3:
+	case 5:
+	case 8:
+	case 10:
+		if (day > 30)
+			return -1;
+		break;
+	case 1:
+		days_in_february = 28;
+		if (year % 4 == 0) {
+			if (year % 100 != 0)
+				days_in_february = 29;
+			else if (year % 400 == 0)
+				days_in_february = 29;
+		}
+
+		if (day > days_in_february)
+			return -1;
+
+		break;
+	default:
+		return -1;
+	}
+
+	return 0;
+}
+
+/**
+ * eeprom_field_update_date() - update a date field which contains binary data
+ *
+ * This function takes a date string in the form of x/Mon/y (x and y are both
+ * decimal values), translates it to the binary representation, then writes it
+ * to the field.
+ *
+ * This function strictly enforces the data syntax, and will not update the
+ * field if there's any deviation from it. It also protects from overflow in the
+ * year value, and checks the validity of the date.
+ *
+ * @field:	an initialized field
+ * @value:	a date string
+ *
+ * Returns 0 on success, -1 on failure.
+ */
+int eeprom_field_update_date(struct eeprom_field *field, char *value)
+{
+	char *endptr;
+	char *tok1 = strtok(value, "/");
+	char *tok2 = strtok(NULL, "/");
+	char *tok3 = strtok(NULL, "/");
+
+	if (tok1 == NULL || tok2 == NULL || tok3 == NULL) {
+		printf("%s: syntax error\n", field->name);
+		return -1;
+	}
+
+	unsigned char day = (unsigned char)simple_strtol(tok1, &endptr, 0);
+	if (*endptr != '\0' || day == 0) {
+		printf("%s: invalid day\n", field->name);
+		return -1;
+	}
+
+	unsigned char month;
+	for (month = 1; month <= 12; month++)
+		if (!strcmp(tok2, months[month - 1]))
+			break;
+
+	unsigned int year = simple_strtol(tok3, &endptr, 0);
+	if (*endptr != '\0') {
+		printf("%s: invalid year\n", field->name);
+		return -1;
+	}
+
+	if (validate_date(day, month - 1, year)) {
+		printf("%s: invalid date\n", field->name);
+		return -1;
+	}
+
+	if (year >> 16) {
+		printf("%s: year overflow\n", field->name);
+		return -1;
+	}
+
+	field->buf[0] = day;
+	field->buf[1] = month;
+	field->buf[2] = (unsigned char)year;
+	field->buf[3] = (unsigned char)(year >> 8);
+
+	return 0;
+}
+
+#define	LAYOUT_VERSION_LEGACY 1
+#define	LAYOUT_VERSION_VER1 2
+#define	LAYOUT_VERSION_VER2 3
+#define	LAYOUT_VERSION_VER3 4
+
+extern struct eeprom_field layout_unknown[1];
+
+#define DEFINE_PRINT_UPDATE(x) eeprom_field_print_##x, eeprom_field_update_##x
+
+#ifdef CONFIG_CM_T3X
+struct eeprom_field layout_legacy[5] = {
+	{ "MAC address",          6, NULL, DEFINE_PRINT_UPDATE(mac) },
+	{ "Board Revision",       2, NULL, DEFINE_PRINT_UPDATE(bin) },
+	{ "Serial Number",        8, NULL, DEFINE_PRINT_UPDATE(bin) },
+	{ "Board Configuration", 64, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ RESERVED_FIELDS,      176, NULL, eeprom_field_print_reserved,
+					   eeprom_field_update_ascii },
+};
+#else
+#define layout_legacy layout_unknown
+#endif
+
+#if defined(CONFIG_CM_T3X) || defined(CONFIG_CM_T3517)
+struct eeprom_field layout_v1[12] = {
+	{ "Major Revision",      2, NULL, DEFINE_PRINT_UPDATE(bin_ver) },
+	{ "Minor Revision",      2, NULL, DEFINE_PRINT_UPDATE(bin_ver) },
+	{ "1st MAC Address",     6, NULL, DEFINE_PRINT_UPDATE(mac) },
+	{ "2nd MAC Address",     6, NULL, DEFINE_PRINT_UPDATE(mac) },
+	{ "Production Date",     4, NULL, DEFINE_PRINT_UPDATE(date) },
+	{ "Serial Number",      12, NULL, DEFINE_PRINT_UPDATE(bin_rev) },
+	{ RESERVED_FIELDS,      96, NULL, DEFINE_PRINT_UPDATE(reserved) },
+	{ "Product Name",       16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ "Product Options #1", 16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ "Product Options #2", 16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ "Product Options #3", 16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ RESERVED_FIELDS,      64, NULL, eeprom_field_print_reserved,
+					  eeprom_field_update_ascii },
+};
+#else
+#define layout_v1 layout_unknown
+#endif
+
+struct eeprom_field layout_v2[15] = {
+	{ "Major Revision",            2, NULL, DEFINE_PRINT_UPDATE(bin_ver) },
+	{ "Minor Revision",            2, NULL, DEFINE_PRINT_UPDATE(bin_ver) },
+	{ "1st MAC Address",           6, NULL, DEFINE_PRINT_UPDATE(mac) },
+	{ "2nd MAC Address",           6, NULL, DEFINE_PRINT_UPDATE(mac) },
+	{ "Production Date",           4, NULL, DEFINE_PRINT_UPDATE(date) },
+	{ "Serial Number",            12, NULL, DEFINE_PRINT_UPDATE(bin_rev) },
+	{ "3rd MAC Address (WIFI)",    6, NULL, DEFINE_PRINT_UPDATE(mac) },
+	{ "4th MAC Address (Bluetooth)", 6, NULL, DEFINE_PRINT_UPDATE(mac) },
+	{ "Layout Version",            1, NULL, DEFINE_PRINT_UPDATE(bin) },
+	{ RESERVED_FIELDS,            83, NULL, DEFINE_PRINT_UPDATE(reserved) },
+	{ "Product Name",             16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ "Product Options #1",       16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ "Product Options #2",       16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ "Product Options #3",       16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ RESERVED_FIELDS,            64, NULL, eeprom_field_print_reserved,
+						eeprom_field_update_ascii },
+};
+
+struct eeprom_field layout_v3[16] = {
+	{ "Major Revision",            2, NULL, DEFINE_PRINT_UPDATE(bin_ver) },
+	{ "Minor Revision",            2, NULL, DEFINE_PRINT_UPDATE(bin_ver) },
+	{ "1st MAC Address",           6, NULL, DEFINE_PRINT_UPDATE(mac) },
+	{ "2nd MAC Address",           6, NULL, DEFINE_PRINT_UPDATE(mac) },
+	{ "Production Date",           4, NULL, DEFINE_PRINT_UPDATE(date) },
+	{ "Serial Number",            12, NULL, DEFINE_PRINT_UPDATE(bin_rev) },
+	{ "3rd MAC Address (WIFI)",    6, NULL, DEFINE_PRINT_UPDATE(mac) },
+	{ "4th MAC Address (Bluetooth)", 6, NULL, DEFINE_PRINT_UPDATE(mac) },
+	{ "Layout Version",            1, NULL, DEFINE_PRINT_UPDATE(bin) },
+	{ "CompuLab EEPROM ID",        3, NULL, DEFINE_PRINT_UPDATE(bin) },
+	{ RESERVED_FIELDS,            80, NULL, DEFINE_PRINT_UPDATE(reserved) },
+	{ "Product Name",             16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ "Product Options #1",       16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ "Product Options #2",       16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ "Product Options #3",       16, NULL, DEFINE_PRINT_UPDATE(ascii) },
+	{ RESERVED_FIELDS,            64, NULL, eeprom_field_print_reserved,
+						eeprom_field_update_ascii },
+};
+
+void eeprom_layout_assign(struct eeprom_layout *layout, int layout_version)
+{
+	switch (layout->layout_version) {
+	case LAYOUT_VERSION_LEGACY:
+		layout->fields = layout_legacy;
+		layout->num_of_fields = ARRAY_SIZE(layout_legacy);
+		break;
+	case LAYOUT_VERSION_VER1:
+		layout->fields = layout_v1;
+		layout->num_of_fields = ARRAY_SIZE(layout_v1);
+		break;
+	case LAYOUT_VERSION_VER2:
+		layout->fields = layout_v2;
+		layout->num_of_fields = ARRAY_SIZE(layout_v2);
+		break;
+	case LAYOUT_VERSION_VER3:
+		layout->fields = layout_v3;
+		layout->num_of_fields = ARRAY_SIZE(layout_v3);
+		break;
+	default:
+		__eeprom_layout_assign(layout, layout_version);
+	}
+}
+
+int eeprom_parse_layout_version(char *str)
+{
+	if (!strcmp(str, "legacy"))
+		return LAYOUT_VERSION_LEGACY;
+	else if (!strcmp(str, "v1"))
+		return LAYOUT_VERSION_VER1;
+	else if (!strcmp(str, "v2"))
+		return LAYOUT_VERSION_VER2;
+	else if (!strcmp(str, "v3"))
+		return LAYOUT_VERSION_VER3;
+	else
+		return LAYOUT_VERSION_UNRECOGNIZED;
+}
+
+int eeprom_layout_detect(unsigned char *data)
+{
+	switch (data[EEPROM_LAYOUT_VER_OFFSET]) {
+	case 0xff:
+	case 0:
+		return LAYOUT_VERSION_VER1;
+	case 2:
+		return LAYOUT_VERSION_VER2;
+	case 3:
+		return LAYOUT_VERSION_VER3;
+	}
+
+	if (data[EEPROM_LAYOUT_VER_OFFSET] >= 0x20)
+		return LAYOUT_VERSION_LEGACY;
+
+	return LAYOUT_VERSION_UNRECOGNIZED;
+}
+#endif
diff --git a/board/congatec/conga-qeval20-qa3-e3845/.gitignore b/board/congatec/conga-qeval20-qa3-e3845/.gitignore
new file mode 100644
index 0000000..6eb8a54
--- /dev/null
+++ b/board/congatec/conga-qeval20-qa3-e3845/.gitignore
@@ -0,0 +1,3 @@
+dsdt.aml
+dsdt.asl.tmp
+dsdt.c
diff --git a/board/congatec/conga-qeval20-qa3-e3845/Makefile b/board/congatec/conga-qeval20-qa3-e3845/Makefile
index 23b8748..b784510 100644
--- a/board/congatec/conga-qeval20-qa3-e3845/Makefile
+++ b/board/congatec/conga-qeval20-qa3-e3845/Makefile
@@ -5,3 +5,4 @@
 #
 
 obj-y	+= conga-qeval20-qa3.o start.o
+obj-$(CONFIG_GENERATE_ACPI_TABLE) += dsdt.o
diff --git a/board/congatec/conga-qeval20-qa3-e3845/acpi/mainboard.asl b/board/congatec/conga-qeval20-qa3-e3845/acpi/mainboard.asl
new file mode 100644
index 0000000..eace459
--- /dev/null
+++ b/board/congatec/conga-qeval20-qa3-e3845/acpi/mainboard.asl
@@ -0,0 +1,13 @@
+/*
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/* Power Button */
+Device (PWRB)
+{
+	Name(_HID, EISAID("PNP0C0C"))
+}
+
+/* TODO: Need add Winbond SuperIO chipset W83627 ASL codes */
diff --git a/board/congatec/conga-qeval20-qa3-e3845/dsdt.asl b/board/congatec/conga-qeval20-qa3-e3845/dsdt.asl
new file mode 100644
index 0000000..6042011
--- /dev/null
+++ b/board/congatec/conga-qeval20-qa3-e3845/dsdt.asl
@@ -0,0 +1,14 @@
+/*
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+DefinitionBlock("dsdt.aml", "DSDT", 2, "U-BOOT", "U-BOOTBL", 0x00010000)
+{
+	/* platform specific */
+	#include <asm/arch/acpi/platform.asl>
+
+	/* board specific */
+	#include "acpi/mainboard.asl"
+}
diff --git a/board/imgtec/malta/lowlevel_init.S b/board/imgtec/malta/lowlevel_init.S
index ae09c27..534db1d 100644
--- a/board/imgtec/malta/lowlevel_init.S
+++ b/board/imgtec/malta/lowlevel_init.S
@@ -24,7 +24,6 @@
 
 	.text
 	.set noreorder
-	.set mips32
 
 	.globl	lowlevel_init
 lowlevel_init:
diff --git a/board/intel/bayleybay/.gitignore b/board/intel/bayleybay/.gitignore
new file mode 100644
index 0000000..6eb8a54
--- /dev/null
+++ b/board/intel/bayleybay/.gitignore
@@ -0,0 +1,3 @@
+dsdt.aml
+dsdt.asl.tmp
+dsdt.c
diff --git a/board/intel/bayleybay/Makefile b/board/intel/bayleybay/Makefile
index 88b5aad..52dda7d 100644
--- a/board/intel/bayleybay/Makefile
+++ b/board/intel/bayleybay/Makefile
@@ -5,3 +5,4 @@
 #
 
 obj-y	+= bayleybay.o start.o
+obj-$(CONFIG_GENERATE_ACPI_TABLE) += dsdt.o
diff --git a/board/intel/bayleybay/acpi/mainboard.asl b/board/intel/bayleybay/acpi/mainboard.asl
new file mode 100644
index 0000000..21785ea
--- /dev/null
+++ b/board/intel/bayleybay/acpi/mainboard.asl
@@ -0,0 +1,11 @@
+/*
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/* Power Button */
+Device (PWRB)
+{
+	Name(_HID, EISAID("PNP0C0C"))
+}
diff --git a/board/intel/bayleybay/dsdt.asl b/board/intel/bayleybay/dsdt.asl
new file mode 100644
index 0000000..6042011
--- /dev/null
+++ b/board/intel/bayleybay/dsdt.asl
@@ -0,0 +1,14 @@
+/*
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+DefinitionBlock("dsdt.aml", "DSDT", 2, "U-BOOT", "U-BOOTBL", 0x00010000)
+{
+	/* platform specific */
+	#include <asm/arch/acpi/platform.asl>
+
+	/* board specific */
+	#include "acpi/mainboard.asl"
+}
diff --git a/board/intel/galileo/Kconfig b/board/intel/galileo/Kconfig
index 6515bac..87a0ec4 100644
--- a/board/intel/galileo/Kconfig
+++ b/board/intel/galileo/Kconfig
@@ -21,4 +21,15 @@
 	select INTEL_QUARK
 	select BOARD_ROMSIZE_KB_1024
 
+config SMBIOS_PRODUCT_NAME
+	default "GalileoGen2"
+	help
+	  Override the default product name U-Boot reports in the SMBIOS
+	  table, to be compatible with the Intel provided UEFI BIOS, as
+	  Linux kernel drivers (drivers/mfd/intel_quark_i2c_gpio.c and
+	  drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c) make use of
+	  it to do different board level configuration.
+
+	  This can be "Galileo" for GEN1 Galileo board.
+
 endif
diff --git a/board/intel/minnowmax/.gitignore b/board/intel/minnowmax/.gitignore
new file mode 100644
index 0000000..6eb8a54
--- /dev/null
+++ b/board/intel/minnowmax/.gitignore
@@ -0,0 +1,3 @@
+dsdt.aml
+dsdt.asl.tmp
+dsdt.c
diff --git a/board/intel/minnowmax/Makefile b/board/intel/minnowmax/Makefile
index 1a61432..73e5a8f 100644
--- a/board/intel/minnowmax/Makefile
+++ b/board/intel/minnowmax/Makefile
@@ -5,3 +5,4 @@
 #
 
 obj-y	+= minnowmax.o start.o
+obj-$(CONFIG_GENERATE_ACPI_TABLE) += dsdt.o
diff --git a/board/intel/minnowmax/acpi/mainboard.asl b/board/intel/minnowmax/acpi/mainboard.asl
new file mode 100644
index 0000000..21785ea
--- /dev/null
+++ b/board/intel/minnowmax/acpi/mainboard.asl
@@ -0,0 +1,11 @@
+/*
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/* Power Button */
+Device (PWRB)
+{
+	Name(_HID, EISAID("PNP0C0C"))
+}
diff --git a/board/intel/minnowmax/dsdt.asl b/board/intel/minnowmax/dsdt.asl
new file mode 100644
index 0000000..6042011
--- /dev/null
+++ b/board/intel/minnowmax/dsdt.asl
@@ -0,0 +1,14 @@
+/*
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+DefinitionBlock("dsdt.aml", "DSDT", 2, "U-BOOT", "U-BOOTBL", 0x00010000)
+{
+	/* platform specific */
+	#include <asm/arch/acpi/platform.asl>
+
+	/* board specific */
+	#include "acpi/mainboard.asl"
+}
diff --git a/board/keymile/km83xx/km83xx_i2c.c b/board/keymile/km83xx/km83xx_i2c.c
index c961937..f0b528d 100644
--- a/board/keymile/km83xx/km83xx_i2c.c
+++ b/board/keymile/km83xx/km83xx_i2c.c
@@ -13,31 +13,33 @@
 
 static void i2c_write_start_seq(void)
 {
-	struct fsl_i2c *dev;
-	dev = (struct fsl_i2c *) (CONFIG_SYS_IMMR + CONFIG_SYS_I2C_OFFSET);
+	struct fsl_i2c_base *base;
+	base = (struct fsl_i2c_base *)(CONFIG_SYS_IMMR +
+			CONFIG_SYS_I2C_OFFSET);
 	udelay(DELAY_ABORT_SEQ);
-	out_8(&dev->cr, (I2C_CR_MEN | I2C_CR_MSTA));
+	out_8(&base->cr, (I2C_CR_MEN | I2C_CR_MSTA));
 	udelay(DELAY_ABORT_SEQ);
-	out_8(&dev->cr, (I2C_CR_MEN));
+	out_8(&base->cr, (I2C_CR_MEN));
 }
 
 int i2c_make_abort(void)
 {
-	struct fsl_i2c *dev;
-	dev = (struct fsl_i2c *) (CONFIG_SYS_IMMR + CONFIG_SYS_I2C_OFFSET);
+	struct fsl_i2c_base *base;
+	base = (struct fsl_i2c_base *)(CONFIG_SYS_IMMR +
+			CONFIG_SYS_I2C_OFFSET);
 	uchar   last;
 	int     nbr_read = 0;
 	int     i = 0;
 	int	    ret = 0;
 
 	/* wait after each operation to finsh with a delay */
-	out_8(&dev->cr, (I2C_CR_MSTA));
+	out_8(&base->cr, (I2C_CR_MSTA));
 	udelay(DELAY_ABORT_SEQ);
-	out_8(&dev->cr, (I2C_CR_MEN | I2C_CR_MSTA));
+	out_8(&base->cr, (I2C_CR_MEN | I2C_CR_MSTA));
 	udelay(DELAY_ABORT_SEQ);
-	in_8(&dev->dr);
+	in_8(&base->dr);
 	udelay(DELAY_ABORT_SEQ);
-	last = in_8(&dev->dr);
+	last = in_8(&base->dr);
 	nbr_read++;
 
 	/*
@@ -47,7 +49,7 @@
 	while (((last & 0x01) != 0x01) &&
 		(nbr_read < CONFIG_SYS_IVM_EEPROM_MAX_LEN)) {
 		udelay(DELAY_ABORT_SEQ);
-		last = in_8(&dev->dr);
+		last = in_8(&base->dr);
 		nbr_read++;
 	}
 	if ((last & 0x01) != 0x01)
@@ -56,10 +58,10 @@
 		printf("[INFO] i2c abort after %d bytes (0x%02x)\n",
 			nbr_read, last);
 	udelay(DELAY_ABORT_SEQ);
-	out_8(&dev->cr, (I2C_CR_MEN));
+	out_8(&base->cr, (I2C_CR_MEN));
 	udelay(DELAY_ABORT_SEQ);
 	/* clear status reg */
-	out_8(&dev->sr, 0);
+	out_8(&base->sr, 0);
 
 	for (i = 0; i < 5; i++)
 		i2c_write_start_seq();
diff --git a/board/mpl/pip405/README b/board/mpl/pip405/README
index e900c56..f039817 100644
--- a/board/mpl/pip405/README
+++ b/board/mpl/pip405/README
@@ -32,8 +32,8 @@
 - include/cmd_bsp.h		added PIP405 commands definitions
 - include/cmd_condefs.h		added Floppy and SCSI support
 - include/cmd_disk.h		changed to work with block device description
-- include/config_LANTEC.h	excluded CONFIG_CMD_FDC and CONFIG_CMD_SCSI
-- include/config_hymod.h	excluded CONFIG_CMD_FDC and CONFIG_CMD_SCSI
+- include/config_LANTEC.h	excluded CONFIG_CMD_FDC and CONFIG_SCSI
+- include/config_hymod.h	excluded CONFIG_CMD_FDC and CONFIG_SCSI
 - include/flash.h		added INTEL_ID_28F320C3T  0x88C488C4
 - include/i2c.h			added "defined(CONFIG_PIP405)"
 - include/image.h		added IH_OS_U_BOOT, IH_TYPE_FIRMWARE
@@ -86,7 +86,7 @@
 
 New Commands:
 -------------
-CONFIG_CMD_SCSI	SCSI Support
+CONFIG_SCSI	SCSI Support
 CONFIG_CMF_FDC	Floppy disk support
 
 IDE additions:
diff --git a/board/qca/ap121/Kconfig b/board/qca/ap121/Kconfig
new file mode 100644
index 0000000..f7e768a
--- /dev/null
+++ b/board/qca/ap121/Kconfig
@@ -0,0 +1,12 @@
+if TARGET_AP121
+
+config SYS_VENDOR
+	default "qca"
+
+config SYS_BOARD
+	default "ap121"
+
+config SYS_CONFIG_NAME
+	default "ap121"
+
+endif
diff --git a/board/qca/ap121/MAINTAINERS b/board/qca/ap121/MAINTAINERS
new file mode 100644
index 0000000..8b02988
--- /dev/null
+++ b/board/qca/ap121/MAINTAINERS
@@ -0,0 +1,6 @@
+AP121 BOARD
+M:	Wills Wang <wills.wang@live.com>
+S:	Maintained
+F:	board/qca/ap121/
+F:	include/configs/ap121.h
+F:	configs/ap121_defconfig
diff --git a/board/qca/ap121/Makefile b/board/qca/ap121/Makefile
new file mode 100644
index 0000000..ced5432
--- /dev/null
+++ b/board/qca/ap121/Makefile
@@ -0,0 +1,5 @@
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y	= ap121.o
diff --git a/board/qca/ap121/ap121.c b/board/qca/ap121/ap121.c
new file mode 100644
index 0000000..d6c60fe
--- /dev/null
+++ b/board/qca/ap121/ap121.c
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <mach/ar71xx_regs.h>
+#include <mach/ddr.h>
+#include <debug_uart.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#ifdef CONFIG_DEBUG_UART_BOARD_INIT
+void board_debug_uart_init(void)
+{
+	void __iomem *regs;
+	u32 val;
+
+	regs = map_physmem(AR71XX_GPIO_BASE, AR71XX_GPIO_SIZE,
+			   MAP_NOCACHE);
+
+	/*
+	 * GPIO9 as input, GPIO10 as output
+	 */
+	val = readl(regs + AR71XX_GPIO_REG_OE);
+	val &= ~AR933X_GPIO(9);
+	val |= AR933X_GPIO(10);
+	writel(val, regs + AR71XX_GPIO_REG_OE);
+
+	/*
+	 * Enable UART, GPIO9 as UART_SI, GPIO10 as UART_SO
+	 */
+	val = readl(regs + AR71XX_GPIO_REG_FUNC);
+	val |= AR933X_GPIO_FUNC_UART_EN | AR933X_GPIO_FUNC_RES_TRUE;
+	writel(val, regs + AR71XX_GPIO_REG_FUNC);
+}
+#endif
+
+int board_early_init_f(void)
+{
+#ifdef CONFIG_DEBUG_UART
+	debug_uart_init();
+#endif
+	ddr_init();
+	return 0;
+}
diff --git a/board/qca/ap143/Kconfig b/board/qca/ap143/Kconfig
new file mode 100644
index 0000000..4cdac0d
--- /dev/null
+++ b/board/qca/ap143/Kconfig
@@ -0,0 +1,12 @@
+if TARGET_AP143
+
+config SYS_VENDOR
+	default "qca"
+
+config SYS_BOARD
+	default "ap143"
+
+config SYS_CONFIG_NAME
+	default "ap143"
+
+endif
diff --git a/board/qca/ap143/MAINTAINERS b/board/qca/ap143/MAINTAINERS
new file mode 100644
index 0000000..11cb14f
--- /dev/null
+++ b/board/qca/ap143/MAINTAINERS
@@ -0,0 +1,6 @@
+AP143 BOARD
+M:	Wills Wang <wills.wang@live.com>
+S:	Maintained
+F:	board/qca/ap143/
+F:	include/configs/ap143.h
+F:	configs/ap143_defconfig
diff --git a/board/qca/ap143/Makefile b/board/qca/ap143/Makefile
new file mode 100644
index 0000000..00f7837
--- /dev/null
+++ b/board/qca/ap143/Makefile
@@ -0,0 +1,5 @@
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y	= ap143.o
diff --git a/board/qca/ap143/ap143.c b/board/qca/ap143/ap143.c
new file mode 100644
index 0000000..1572472
--- /dev/null
+++ b/board/qca/ap143/ap143.c
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <mach/ar71xx_regs.h>
+#include <mach/ddr.h>
+#include <debug_uart.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#ifdef CONFIG_DEBUG_UART_BOARD_INIT
+void board_debug_uart_init(void)
+{
+	void __iomem *regs;
+	u32 val;
+
+	regs = map_physmem(AR71XX_GPIO_BASE, AR71XX_GPIO_SIZE,
+			   MAP_NOCACHE);
+
+	/*
+	 * GPIO9 as input, GPIO10 as output
+	 */
+	val = readl(regs + AR71XX_GPIO_REG_OE);
+	val |= QCA953X_GPIO(9);
+	val &= ~QCA953X_GPIO(10);
+	writel(val, regs + AR71XX_GPIO_REG_OE);
+
+	/*
+	 * Enable GPIO10 as UART0_SOUT
+	 */
+	val = readl(regs + QCA953X_GPIO_REG_OUT_FUNC2);
+	val &= ~QCA953X_GPIO_MUX_MASK(16);
+	val |= QCA953X_GPIO_OUT_MUX_UART0_SOUT << 16;
+	writel(val, regs + QCA953X_GPIO_REG_OUT_FUNC2);
+
+	/*
+	 * Enable GPIO9 as UART0_SIN
+	 */
+	val = readl(regs + QCA953X_GPIO_REG_IN_ENABLE0);
+	val &= ~QCA953X_GPIO_MUX_MASK(8);
+	val |= QCA953X_GPIO_IN_MUX_UART0_SIN << 8;
+	writel(val, regs + QCA953X_GPIO_REG_IN_ENABLE0);
+
+	/*
+	 * Enable GPIO10 output
+	 */
+	val = readl(regs + AR71XX_GPIO_REG_OUT);
+	val |= QCA953X_GPIO(10);
+	writel(val, regs + AR71XX_GPIO_REG_OUT);
+}
+#endif
+
+int board_early_init_f(void)
+{
+#ifdef CONFIG_DEBUG_UART
+	debug_uart_init();
+#endif
+	ddr_init();
+	return 0;
+}
diff --git a/board/sandbox/MAINTAINERS b/board/sandbox/MAINTAINERS
index 10d88a2..f5db773 100644
--- a/board/sandbox/MAINTAINERS
+++ b/board/sandbox/MAINTAINERS
@@ -4,3 +4,10 @@
 F:	board/sandbox/
 F:	include/configs/sandbox.h
 F:	configs/sandbox_defconfig
+
+SANDBOX_NOBLK BOARD
+M:	Simon Glass <sjg@chromium.org>
+S:	Maintained
+F:	board/sandbox/
+F:	include/configs/sandbox.h
+F:	configs/sandbox_noblk_defconfig
diff --git a/board/tplink/wdr4300/Kconfig b/board/tplink/wdr4300/Kconfig
new file mode 100644
index 0000000..902abf5
--- /dev/null
+++ b/board/tplink/wdr4300/Kconfig
@@ -0,0 +1,15 @@
+if BOARD_TPLINK_WDR4300
+
+config SYS_VENDOR
+	default "tplink"
+
+config SYS_SOC
+	default "ath79"
+
+config SYS_BOARD
+	default "wdr4300"
+
+config SYS_CONFIG_NAME
+	default "tplink_wdr4300"
+
+endif
diff --git a/board/tplink/wdr4300/MAINTAINERS b/board/tplink/wdr4300/MAINTAINERS
new file mode 100644
index 0000000..db239c2
--- /dev/null
+++ b/board/tplink/wdr4300/MAINTAINERS
@@ -0,0 +1,6 @@
+TPLINK_WDR4300 BOARD
+M:	Marek Vasut <marex@denx.de>
+S:	Maintained
+F:	board/tplink/wdr4300/
+F:	include/configs/tplink_wdr4300.h
+F:	configs/tplink_wdr4300_defconfig
diff --git a/board/tplink/wdr4300/Makefile b/board/tplink/wdr4300/Makefile
new file mode 100644
index 0000000..4f0c296
--- /dev/null
+++ b/board/tplink/wdr4300/Makefile
@@ -0,0 +1,5 @@
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-y	= wdr4300.o
diff --git a/board/tplink/wdr4300/wdr4300.c b/board/tplink/wdr4300/wdr4300.c
new file mode 100644
index 0000000..6e070fd
--- /dev/null
+++ b/board/tplink/wdr4300/wdr4300.c
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2016 Marek Vasut <marex@denx.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <mach/ath79.h>
+#include <mach/ar71xx_regs.h>
+#include <mach/ddr.h>
+#include <debug_uart.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#ifdef CONFIG_USB
+static void wdr4300_usb_start(void)
+{
+	void __iomem *gpio_regs = map_physmem(AR71XX_GPIO_BASE,
+					      AR71XX_GPIO_SIZE, MAP_NOCACHE);
+	if (!gpio_regs)
+		return;
+
+	/* Power up the USB HUB. */
+	clrbits_be32(gpio_regs + AR71XX_GPIO_REG_OE, BIT(21) | BIT(22));
+	writel(BIT(21) | BIT(22), gpio_regs + AR71XX_GPIO_REG_SET);
+	mdelay(1);
+
+	ath79_usb_reset();
+}
+#else
+static inline void wdr4300_usb_start(void) {}
+#endif
+
+#ifdef CONFIG_BOARD_EARLY_INIT_F
+int board_early_init_f(void)
+{
+	void __iomem *regs;
+
+	regs = map_physmem(AR71XX_GPIO_BASE, AR71XX_GPIO_SIZE,
+			   MAP_NOCACHE);
+
+	/* Assure JTAG is not disconnected. */
+	writel(0x40, regs + AR934X_GPIO_REG_FUNC);
+
+	/* Configure default GPIO input/output regs. */
+	writel(0x3031b, regs + AR71XX_GPIO_REG_OE);
+	writel(0x0f804, regs + AR71XX_GPIO_REG_OUT);
+
+	/* Configure pin multiplexing. */
+	writel(0x00000000, regs + AR934X_GPIO_REG_OUT_FUNC0);
+	writel(0x0b0a0980, regs + AR934X_GPIO_REG_OUT_FUNC1);
+	writel(0x00180000, regs + AR934X_GPIO_REG_OUT_FUNC2);
+	writel(0x00000000, regs + AR934X_GPIO_REG_OUT_FUNC3);
+	writel(0x0000004d, regs + AR934X_GPIO_REG_OUT_FUNC4);
+	writel(0x00000000, regs + AR934X_GPIO_REG_OUT_FUNC5);
+
+#ifdef CONFIG_DEBUG_UART
+	debug_uart_init();
+#endif
+
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
+	ar934x_pll_init(560, 480, 240);
+	ar934x_ddr_init(560, 480, 240);
+#endif
+
+	wdr4300_usb_start();
+	ath79_eth_reset();
+
+	return 0;
+}
+#endif
diff --git a/board/xilinx/zynq/Makefile b/board/xilinx/zynq/Makefile
index eab9303..7de0212 100644
--- a/board/xilinx/zynq/Makefile
+++ b/board/xilinx/zynq/Makefile
@@ -7,17 +7,7 @@
 
 obj-y	:= board.o
 
-# Copied from Xilinx SDK 2014.4
-hw-platform-$(CONFIG_TARGET_ZYNQ_ZED)		:= zed_hw_platform
-hw-platform-$(CONFIG_TARGET_ZYNQ_MICROZED)	:= MicroZed_hw_platform
-hw-platform-$(CONFIG_TARGET_ZYNQ_ZC702)		:= ZC702_hw_platform
-hw-platform-$(CONFIG_TARGET_ZYNQ_ZC706)		:= ZC706_hw_platform
-hw-platform-$(CONFIG_TARGET_ZYNQ_ZYBO)		:= zybo_hw_platform
-# If you want to use customized ps7_init_gpl.c/h,
-# enable CONFIG_ZYNQ_CUSTOM_INIT and put them into custom_hw_platform/.
-# This line must be placed at the bottom of the list because
-# it takes precedence over the default ones.
-hw-platform-$(CONFIG_ZYNQ_CUSTOM_INIT)		:= custom_hw_platform
+hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE))
 
 init-objs := $(if $(wildcard $(srctree)/$(src)/$(hw-platform-y)/ps7_init_gpl.c),\
 	$(hw-platform-y)/ps7_init_gpl.o)
diff --git a/board/xilinx/zynq/custom_hw_platform/.gitignore b/board/xilinx/zynq/custom_hw_platform/.gitignore
deleted file mode 100644
index c455361..0000000
--- a/board/xilinx/zynq/custom_hw_platform/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-ps7_init_gpl.[ch]
diff --git a/board/xilinx/zynq/MicroZed_hw_platform/ps7_init_gpl.c b/board/xilinx/zynq/zynq-microzed/ps7_init_gpl.c
similarity index 100%
rename from board/xilinx/zynq/MicroZed_hw_platform/ps7_init_gpl.c
rename to board/xilinx/zynq/zynq-microzed/ps7_init_gpl.c
diff --git a/board/xilinx/zynq/MicroZed_hw_platform/ps7_init_gpl.h b/board/xilinx/zynq/zynq-microzed/ps7_init_gpl.h
similarity index 100%
rename from board/xilinx/zynq/MicroZed_hw_platform/ps7_init_gpl.h
rename to board/xilinx/zynq/zynq-microzed/ps7_init_gpl.h
diff --git a/board/xilinx/zynq/ZC702_hw_platform/ps7_init_gpl.c b/board/xilinx/zynq/zynq-zc702/ps7_init_gpl.c
similarity index 100%
rename from board/xilinx/zynq/ZC702_hw_platform/ps7_init_gpl.c
rename to board/xilinx/zynq/zynq-zc702/ps7_init_gpl.c
diff --git a/board/xilinx/zynq/ZC702_hw_platform/ps7_init_gpl.h b/board/xilinx/zynq/zynq-zc702/ps7_init_gpl.h
similarity index 100%
rename from board/xilinx/zynq/ZC702_hw_platform/ps7_init_gpl.h
rename to board/xilinx/zynq/zynq-zc702/ps7_init_gpl.h
diff --git a/board/xilinx/zynq/ZC706_hw_platform/ps7_init_gpl.c b/board/xilinx/zynq/zynq-zc706/ps7_init_gpl.c
similarity index 100%
rename from board/xilinx/zynq/ZC706_hw_platform/ps7_init_gpl.c
rename to board/xilinx/zynq/zynq-zc706/ps7_init_gpl.c
diff --git a/board/xilinx/zynq/ZC706_hw_platform/ps7_init_gpl.h b/board/xilinx/zynq/zynq-zc706/ps7_init_gpl.h
similarity index 100%
rename from board/xilinx/zynq/ZC706_hw_platform/ps7_init_gpl.h
rename to board/xilinx/zynq/zynq-zc706/ps7_init_gpl.h
diff --git a/board/xilinx/zynq/zed_hw_platform/ps7_init_gpl.c b/board/xilinx/zynq/zynq-zed/ps7_init_gpl.c
similarity index 100%
rename from board/xilinx/zynq/zed_hw_platform/ps7_init_gpl.c
rename to board/xilinx/zynq/zynq-zed/ps7_init_gpl.c
diff --git a/board/xilinx/zynq/zed_hw_platform/ps7_init_gpl.h b/board/xilinx/zynq/zynq-zed/ps7_init_gpl.h
similarity index 100%
rename from board/xilinx/zynq/zed_hw_platform/ps7_init_gpl.h
rename to board/xilinx/zynq/zynq-zed/ps7_init_gpl.h
diff --git a/board/xilinx/zynq/zybo_hw_platform/ps7_init_gpl.c b/board/xilinx/zynq/zynq-zybo/ps7_init_gpl.c
similarity index 100%
rename from board/xilinx/zynq/zybo_hw_platform/ps7_init_gpl.c
rename to board/xilinx/zynq/zynq-zybo/ps7_init_gpl.c
diff --git a/board/xilinx/zynq/zybo_hw_platform/ps7_init_gpl.h b/board/xilinx/zynq/zynq-zybo/ps7_init_gpl.h
similarity index 100%
rename from board/xilinx/zynq/zybo_hw_platform/ps7_init_gpl.h
rename to board/xilinx/zynq/zynq-zybo/ps7_init_gpl.h
diff --git a/board/xilinx/zynqmp/Makefile b/board/xilinx/zynqmp/Makefile
index 2ab3f19..90f00c6 100644
--- a/board/xilinx/zynqmp/Makefile
+++ b/board/xilinx/zynqmp/Makefile
@@ -1,8 +1,29 @@
 #
-# (C) Copyright 2014 - 2015 Xilinx, Inc.
+# (C) Copyright 2014 - 2016 Xilinx, Inc.
 # Michal Simek <michal.simek@xilinx.com>
 #
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
 obj-y	:= zynqmp.o
+
+hw-platform-y :=$(shell echo $(CONFIG_SYS_CONFIG_NAME))
+
+init-objs := $(if $(wildcard $(srctree)/$(src)/$(hw-platform-y)/psu_init_gpl.c),\
+	$(hw-platform-y)/psu_init_gpl.o)
+
+ifeq ($(init-objs),)
+ifneq ($(wildcard $(srctree)/$(src)/psu_init_gpl.c),)
+init-objs := psu_init_gpl.o
+$(if $(CONFIG_SPL_BUILD),\
+$(warning Put custom psu_init_gpl.c/h to board/xilinx/zynqmp/custom_hw_platform/))
+endif
+endif
+
+obj-$(CONFIG_SPL_BUILD) += $(init-objs)
+
+# Suppress "warning: function declaration isn't a prototype"
+CFLAGS_REMOVE_psu_init_gpl.o := -Wstrict-prototypes
+
+# To include xil_io.h
+CFLAGS_psu_init_gpl.o := -I$(srctree)/$(src)
diff --git a/board/xilinx/zynqmp/xil_io.h b/board/xilinx/zynqmp/xil_io.h
new file mode 100644
index 0000000..57ca4ad
--- /dev/null
+++ b/board/xilinx/zynqmp/xil_io.h
@@ -0,0 +1,35 @@
+/*
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef XIL_IO_H /* prevent circular inclusions */
+#define XIL_IO_H
+
+/* FIXME remove this when vivado is fixed */
+#include <asm/io.h>
+
+#define xil_printf(...)
+
+void Xil_ICacheEnable(void)
+{}
+
+void Xil_DCacheEnable(void)
+{}
+
+void Xil_ICacheDisable(void)
+{}
+
+void Xil_DCacheDisable(void)
+{}
+
+void Xil_Out32(unsigned long addr, unsigned long val)
+{
+	writel(val, addr);
+}
+
+int Xil_In32(unsigned long addr)
+{
+	return readl(addr);
+}
+
+#endif /* XIL_IO_H */
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index 132d724..4623cd4 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -15,6 +15,7 @@
 #include <asm/io.h>
 #include <usb.h>
 #include <dwc3-uboot.h>
+#include <i2c.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -50,6 +51,22 @@
 	return 0;
 }
 
+int zynq_board_read_rom_ethaddr(unsigned char *ethaddr)
+{
+#if defined(CONFIG_ZYNQ_GEM_EEPROM_ADDR) && \
+    defined(CONFIG_ZYNQ_GEM_I2C_MAC_OFFSET) && \
+    defined(CONFIG_ZYNQ_EEPROM_BUS)
+	i2c_set_bus_num(CONFIG_ZYNQ_EEPROM_BUS);
+
+	if (eeprom_read(CONFIG_ZYNQ_GEM_EEPROM_ADDR,
+			CONFIG_ZYNQ_GEM_I2C_MAC_OFFSET,
+			ethaddr, 6))
+		printf("I2C EEPROM MAC address read failed\n");
+#endif
+
+	return 0;
+}
+
 #if !defined(CONFIG_SYS_SDRAM_BASE) && !defined(CONFIG_SYS_SDRAM_SIZE)
 /*
  * fdt_get_reg - Fill buffer by information from DT
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 9336752..d51645c 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -593,6 +593,13 @@
 	     sound init   - set up sound system
 	     sound play   - play a sound
 
+config CMD_QFW
+	bool "qfw"
+	select QFW
+	help
+	  This provides access to the QEMU firmware interface.  The main
+	  feature is to allow easy loading of files passed to qemu-system
+	  via -kernel / -initrd
 endmenu
 
 config CMD_BOOTSTAGE
diff --git a/cmd/Makefile b/cmd/Makefile
index f95759e..9ce7861 100644
--- a/cmd/Makefile
+++ b/cmd/Makefile
@@ -105,6 +105,7 @@
 obj-y += pcmcia.o
 obj-$(CONFIG_CMD_PORTIO) += portio.o
 obj-$(CONFIG_CMD_PXE) += pxe.o
+obj-$(CONFIG_CMD_QFW) += qfw.o
 obj-$(CONFIG_CMD_READ) += read.o
 obj-$(CONFIG_CMD_REGINFO) += reginfo.o
 obj-$(CONFIG_CMD_REISER) += reiser.o
@@ -112,7 +113,7 @@
 obj-$(CONFIG_SANDBOX) += host.o
 obj-$(CONFIG_CMD_SATA) += sata.o
 obj-$(CONFIG_CMD_SF) += sf.o
-obj-$(CONFIG_CMD_SCSI) += scsi.o
+obj-$(CONFIG_SCSI) += scsi.o
 obj-$(CONFIG_CMD_SHA1SUM) += sha1sum.o
 obj-$(CONFIG_CMD_SETEXPR) += setexpr.o
 obj-$(CONFIG_CMD_SOFTSWITCH) += softswitch.o
@@ -155,12 +156,6 @@
 obj-$(CONFIG_CMD_REGULATOR) += regulator.o
 endif # !CONFIG_SPL_BUILD
 
-ifdef CONFIG_SPL_BUILD
-ifdef CONFIG_SPL_SATA_SUPPORT
-obj-$(CONFIG_CMD_SCSI) += scsi.o
-endif
-endif # CONFIG_SPL_BUILD
-
 obj-$(CONFIG_CMD_BLOB) += blob.o
 
 # core command
diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
index 8eda68b..1c4bed9 100644
--- a/cmd/bdinfo.c
+++ b/cmd/bdinfo.c
@@ -341,6 +341,8 @@
 	print_eth(0);
 	printf("ip_addr     = %s\n", getenv("ipaddr"));
 	printf("baudrate    = %u bps\n", gd->baudrate);
+	print_num("relocaddr", gd->relocaddr);
+	print_num("reloc off", gd->reloc_off);
 
 	return 0;
 }
diff --git a/cmd/disk.c b/cmd/disk.c
index 2fd1717..fcc4123 100644
--- a/cmd/disk.c
+++ b/cmd/disk.c
@@ -8,7 +8,7 @@
 #include <command.h>
 #include <part.h>
 
-#if defined(CONFIG_CMD_IDE) || defined(CONFIG_CMD_SCSI) || \
+#if defined(CONFIG_CMD_IDE) || defined(CONFIG_SCSI) || \
 	defined(CONFIG_USB_STORAGE)
 int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc,
 		    char *const argv[])
diff --git a/cmd/eeprom.c b/cmd/eeprom.c
index e5457ba..0a0e4a2 100644
--- a/cmd/eeprom.c
+++ b/cmd/eeprom.c
@@ -24,6 +24,7 @@
 #include <config.h>
 #include <command.h>
 #include <i2c.h>
+#include <eeprom_layout.h>
 
 #ifndef	CONFIG_SYS_I2C_SPEED
 #define	CONFIG_SYS_I2C_SPEED	50000
@@ -72,7 +73,7 @@
 #endif
 
 	/* I2C EEPROM */
-#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C_SOFT)
+#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
 #if defined(CONFIG_SYS_I2C)
 	if (bus >= 0)
 		i2c_set_bus_num(bus);
@@ -207,63 +208,243 @@
 	return ret;
 }
 
-static int do_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+static int parse_numeric_param(char *str)
 {
-	const char *const fmt =
-		"\nEEPROM @0x%lX %s: addr %08lx  off %04lx  count %ld ... ";
-	char * const *args = &argv[2];
-	int rcode;
-	ulong dev_addr, addr, off, cnt;
-	int bus_addr;
+	char *endptr;
+	int value = simple_strtol(str, &endptr, 16);
 
-	switch (argc) {
+	return (*endptr != '\0') ? -1 : value;
+}
+
+/**
+ * parse_i2c_bus_addr - parse the i2c bus and i2c devaddr parameters
+ *
+ * @i2c_bus:	address to store the i2c bus
+ * @i2c_addr:	address to store the device i2c address
+ * @argc:	count of command line arguments left to parse
+ * @argv:	command line arguments left to parse
+ * @argc_no_bus_addr:	argc value we expect to see when bus & addr aren't given
+ *
+ * @returns:	number of arguments parsed or CMD_RET_USAGE if error
+ */
+static int parse_i2c_bus_addr(int *i2c_bus, ulong *i2c_addr, int argc,
+			      char * const argv[], int argc_no_bus_addr)
+{
+	int argc_no_bus = argc_no_bus_addr + 1;
+	int argc_bus_addr = argc_no_bus_addr + 2;
+
 #ifdef CONFIG_SYS_DEF_EEPROM_ADDR
-	case 5:
-		bus_addr = -1;
-		dev_addr = CONFIG_SYS_DEF_EEPROM_ADDR;
-		break;
+	if (argc == argc_no_bus_addr) {
+		*i2c_bus = -1;
+		*i2c_addr = CONFIG_SYS_DEF_EEPROM_ADDR;
+
+		return 0;
+	}
 #endif
-	case 6:
-		bus_addr = -1;
-		dev_addr = simple_strtoul(*args++, NULL, 16);
-		break;
-	case 7:
-		bus_addr = simple_strtoul(*args++, NULL, 16);
-		dev_addr = simple_strtoul(*args++, NULL, 16);
-		break;
-	default:
-		return CMD_RET_USAGE;
+	if (argc == argc_no_bus) {
+		*i2c_bus = -1;
+		*i2c_addr = parse_numeric_param(argv[0]);
+
+		return 1;
 	}
 
-	addr = simple_strtoul(*args++, NULL, 16);
-	off = simple_strtoul(*args++, NULL, 16);
-	cnt = simple_strtoul(*args++, NULL, 16);
+	if (argc == argc_bus_addr) {
+		*i2c_bus = parse_numeric_param(argv[0]);
+		*i2c_addr = parse_numeric_param(argv[1]);
 
-	eeprom_init(bus_addr);
-
-	if (strcmp(argv[1], "read") == 0) {
-		printf(fmt, dev_addr, argv[1], addr, off, cnt);
-
-		rcode = eeprom_read(dev_addr, off, (uchar *)addr, cnt);
-
-		puts("done\n");
-		return rcode;
-	} else if (strcmp(argv[1], "write") == 0) {
-		printf(fmt, dev_addr, argv[1], addr, off, cnt);
-
-		rcode = eeprom_write(dev_addr, off, (uchar *)addr, cnt);
-
-		puts("done\n");
-		return rcode;
+		return 2;
 	}
 
 	return CMD_RET_USAGE;
 }
 
+#ifdef CONFIG_CMD_EEPROM_LAYOUT
+
+__weak int eeprom_parse_layout_version(char *str)
+{
+	return LAYOUT_VERSION_UNRECOGNIZED;
+}
+
+static unsigned char eeprom_buf[CONFIG_SYS_EEPROM_SIZE];
+
+#ifndef CONFIG_EEPROM_LAYOUT_HELP_STRING
+#define CONFIG_EEPROM_LAYOUT_HELP_STRING "<not defined>"
+#endif
+
+#endif
+
+enum eeprom_action {
+	EEPROM_READ,
+	EEPROM_WRITE,
+	EEPROM_PRINT,
+	EEPROM_UPDATE,
+	EEPROM_ACTION_INVALID,
+};
+
+static enum eeprom_action parse_action(char *cmd)
+{
+	if (!strncmp(cmd, "read", 4))
+		return EEPROM_READ;
+	if (!strncmp(cmd, "write", 5))
+		return EEPROM_WRITE;
+#ifdef CONFIG_CMD_EEPROM_LAYOUT
+	if (!strncmp(cmd, "print", 5))
+		return EEPROM_PRINT;
+	if (!strncmp(cmd, "update", 6))
+		return EEPROM_UPDATE;
+#endif
+
+	return EEPROM_ACTION_INVALID;
+}
+
+static int eeprom_execute_command(enum eeprom_action action, int i2c_bus,
+				  ulong i2c_addr, int layout_ver, char *key,
+				  char *value, ulong addr, ulong off, ulong cnt)
+{
+	int rcode = 0;
+	const char *const fmt =
+		"\nEEPROM @0x%lX %s: addr %08lx  off %04lx  count %ld ... ";
+#ifdef CONFIG_CMD_EEPROM_LAYOUT
+	struct eeprom_layout layout;
+#endif
+
+	if (action == EEPROM_ACTION_INVALID)
+		return CMD_RET_USAGE;
+
+	eeprom_init(i2c_bus);
+	if (action == EEPROM_READ) {
+		printf(fmt, i2c_addr, "read", addr, off, cnt);
+
+		rcode = eeprom_read(i2c_addr, off, (uchar *)addr, cnt);
+
+		puts("done\n");
+		return rcode;
+	} else if (action == EEPROM_WRITE) {
+		printf(fmt, i2c_addr, "write", addr, off, cnt);
+
+		rcode = eeprom_write(i2c_addr, off, (uchar *)addr, cnt);
+
+		puts("done\n");
+		return rcode;
+	}
+
+#ifdef CONFIG_CMD_EEPROM_LAYOUT
+	rcode = eeprom_read(i2c_addr, 0, eeprom_buf, CONFIG_SYS_EEPROM_SIZE);
+	if (rcode < 0)
+		return rcode;
+
+	eeprom_layout_setup(&layout, eeprom_buf, CONFIG_SYS_EEPROM_SIZE,
+			    layout_ver);
+
+	if (action == EEPROM_PRINT) {
+		layout.print(&layout);
+		return 0;
+	}
+
+	layout.update(&layout, key, value);
+
+	rcode = eeprom_write(i2c_addr, 0, layout.data, CONFIG_SYS_EEPROM_SIZE);
+#endif
+
+	return rcode;
+}
+
+#define NEXT_PARAM(argc, index)	{ (argc)--; (index)++; }
+int do_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+	int layout_ver = LAYOUT_VERSION_AUTODETECT;
+	enum eeprom_action action = EEPROM_ACTION_INVALID;
+	int i2c_bus = -1, index = 0;
+	ulong i2c_addr = -1, addr = 0, cnt = 0, off = 0;
+	int ret;
+	char *field_name = "";
+	char *field_value = "";
+
+	if (argc <= 1)
+		return CMD_RET_USAGE;
+
+	NEXT_PARAM(argc, index); /* Skip program name */
+
+	action = parse_action(argv[index]);
+	NEXT_PARAM(argc, index);
+
+	if (action == EEPROM_ACTION_INVALID)
+		return CMD_RET_USAGE;
+
+#ifdef CONFIG_CMD_EEPROM_LAYOUT
+	if (action == EEPROM_PRINT || action == EEPROM_UPDATE) {
+		if (!strcmp(argv[index], "-l")) {
+			NEXT_PARAM(argc, index);
+			layout_ver = eeprom_parse_layout_version(argv[index]);
+			NEXT_PARAM(argc, index);
+		}
+	}
+#endif
+
+	switch (action) {
+	case EEPROM_READ:
+	case EEPROM_WRITE:
+		ret = parse_i2c_bus_addr(&i2c_bus, &i2c_addr, argc,
+					 argv + index, 3);
+		break;
+	case EEPROM_PRINT:
+		ret = parse_i2c_bus_addr(&i2c_bus, &i2c_addr, argc,
+					 argv + index, 0);
+		break;
+	case EEPROM_UPDATE:
+		ret = parse_i2c_bus_addr(&i2c_bus, &i2c_addr, argc,
+					 argv + index, 2);
+		break;
+	default:
+		/* Get compiler to stop whining */
+		return CMD_RET_USAGE;
+	}
+
+	if (ret == CMD_RET_USAGE)
+		return ret;
+
+	while (ret--)
+		NEXT_PARAM(argc, index);
+
+	if (action == EEPROM_READ || action == EEPROM_WRITE) {
+		addr = parse_numeric_param(argv[index]);
+		NEXT_PARAM(argc, index);
+		off = parse_numeric_param(argv[index]);
+		NEXT_PARAM(argc, index);
+		cnt = parse_numeric_param(argv[index]);
+	}
+
+#ifdef CONFIG_CMD_EEPROM_LAYOUT
+	if (action == EEPROM_UPDATE) {
+		field_name = argv[index];
+		NEXT_PARAM(argc, index);
+		field_value = argv[index];
+		NEXT_PARAM(argc, index);
+	}
+#endif
+
+	return eeprom_execute_command(action, i2c_bus, i2c_addr, layout_ver,
+				      field_name, field_value, addr, off, cnt);
+}
+
 U_BOOT_CMD(
-	eeprom,	7,	1,	do_eeprom,
+	eeprom,	8,	1,	do_eeprom,
 	"EEPROM sub-system",
 	"read  <bus> <devaddr> addr off cnt\n"
 	"eeprom write <bus> <devaddr> addr off cnt\n"
 	"       - read/write `cnt' bytes from `devaddr` EEPROM at offset `off'"
+#ifdef CONFIG_CMD_EEPROM_LAYOUT
+	"\n"
+	"eeprom print [-l <layout_version>] <bus> <devaddr>\n"
+	"       - Print layout fields and their data in human readable format\n"
+	"eeprom update [-l <layout_version>] <bus> <devaddr> field_name field_value\n"
+	"       - Update a specific eeprom field with new data.\n"
+	"         The new data must be written in the same human readable format as shown by the print command.\n"
+	"\n"
+	"LAYOUT VERSIONS\n"
+	"The -l option can be used to force the command to interpret the EEPROM data using the chosen layout.\n"
+	"If the -l option is omitted, the command will auto detect the layout based on the data in the EEPROM.\n"
+	"The values which can be provided with the -l option are:\n"
+	CONFIG_EEPROM_LAYOUT_HELP_STRING"\n"
+#endif
 )
diff --git a/cmd/ide.c b/cmd/ide.c
index c4c08c8..c942744 100644
--- a/cmd/ide.c
+++ b/cmd/ide.c
@@ -29,64 +29,9 @@
 # include <status_led.h>
 #endif
 
-#ifdef __PPC__
-# define EIEIO		__asm__ volatile ("eieio")
-# define SYNC		__asm__ volatile ("sync")
-#else
-# define EIEIO		/* nothing */
-# define SYNC		/* nothing */
-#endif
-
-/* ------------------------------------------------------------------------- */
-
 /* Current I/O Device	*/
 static int curr_device = -1;
 
-/* Current offset for IDE0 / IDE1 bus access	*/
-ulong ide_bus_offset[CONFIG_SYS_IDE_MAXBUS] = {
-#if defined(CONFIG_SYS_ATA_IDE0_OFFSET)
-	CONFIG_SYS_ATA_IDE0_OFFSET,
-#endif
-#if defined(CONFIG_SYS_ATA_IDE1_OFFSET) && (CONFIG_SYS_IDE_MAXBUS > 1)
-	CONFIG_SYS_ATA_IDE1_OFFSET,
-#endif
-};
-
-static int ide_bus_ok[CONFIG_SYS_IDE_MAXBUS];
-
-struct blk_desc ide_dev_desc[CONFIG_SYS_IDE_MAXDEVICE];
-/* ------------------------------------------------------------------------- */
-
-#ifdef CONFIG_IDE_RESET
-static void  ide_reset (void);
-#else
-#define ide_reset()	/* dummy */
-#endif
-
-static void ide_ident(struct blk_desc *dev_desc);
-static uchar ide_wait  (int dev, ulong t);
-
-#define IDE_TIME_OUT	2000	/* 2 sec timeout */
-
-#define ATAPI_TIME_OUT	7000	/* 7 sec timeout (5 sec seems to work...) */
-
-#define IDE_SPIN_UP_TIME_OUT 5000 /* 5 sec spin-up timeout */
-
-static void ident_cpy (unsigned char *dest, unsigned char *src, unsigned int len);
-
-#ifndef CONFIG_SYS_ATA_PORT_ADDR
-#define CONFIG_SYS_ATA_PORT_ADDR(port) (port)
-#endif
-
-#ifdef CONFIG_ATAPI
-static void	atapi_inquiry(struct blk_desc *dev_desc);
-static ulong atapi_read(struct blk_desc *block_dev, lbaint_t blknr,
-			lbaint_t blkcnt, void *buffer);
-#endif
-
-
-/* ------------------------------------------------------------------------- */
-
 int do_ide(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 {
 	int rcode = 0;
@@ -106,79 +51,41 @@
 			ide_init();
 			return 0;
 		} else if (strncmp(argv[1], "inf", 3) == 0) {
-			int i;
-
-			putc('\n');
-
-			for (i = 0; i < CONFIG_SYS_IDE_MAXDEVICE; ++i) {
-				if (ide_dev_desc[i].type == DEV_TYPE_UNKNOWN)
-					continue;  /* list only known devices */
-				printf("IDE device %d: ", i);
-				dev_print(&ide_dev_desc[i]);
-			}
+			blk_list_devices(IF_TYPE_IDE);
 			return 0;
 
 		} else if (strncmp(argv[1], "dev", 3) == 0) {
-			if ((curr_device < 0)
-			    || (curr_device >= CONFIG_SYS_IDE_MAXDEVICE)) {
-				puts("\nno IDE devices available\n");
-				return 1;
+			if (blk_print_device_num(IF_TYPE_IDE, curr_device)) {
+				printf("\nno IDE devices available\n");
+				return CMD_RET_FAILURE;
 			}
-			printf("\nIDE device %d: ", curr_device);
-			dev_print(&ide_dev_desc[curr_device]);
+
 			return 0;
 		} else if (strncmp(argv[1], "part", 4) == 0) {
-			int dev, ok;
-
-			for (ok = 0, dev = 0;
-			     dev < CONFIG_SYS_IDE_MAXDEVICE;
-			     ++dev) {
-				if (ide_dev_desc[dev].part_type !=
-				    PART_TYPE_UNKNOWN) {
-					++ok;
-					if (dev)
-						putc('\n');
-					part_print(&ide_dev_desc[dev]);
-				}
-			}
-			if (!ok) {
-				puts("\nno IDE devices available\n");
-				rcode++;
-			}
-			return rcode;
+			if (blk_list_part(IF_TYPE_IDE))
+				printf("\nno IDE devices available\n");
+			return 1;
 		}
 		return CMD_RET_USAGE;
 	case 3:
 		if (strncmp(argv[1], "dev", 3) == 0) {
-			int dev = (int) simple_strtoul(argv[2], NULL, 10);
+			int dev = (int)simple_strtoul(argv[2], NULL, 10);
 
-			printf("\nIDE device %d: ", dev);
-			if (dev >= CONFIG_SYS_IDE_MAXDEVICE) {
-				puts("unknown device\n");
-				return 1;
+			if (!blk_show_device(IF_TYPE_IDE, dev)) {
+				curr_device = dev;
+				printf("... is now current device\n");
+			} else {
+				return CMD_RET_FAILURE;
 			}
-			dev_print(&ide_dev_desc[dev]);
-			/*ide_print (dev); */
-
-			if (ide_dev_desc[dev].type == DEV_TYPE_UNKNOWN)
-				return 1;
-
-			curr_device = dev;
-
-			puts("... is now current device\n");
-
 			return 0;
 		} else if (strncmp(argv[1], "part", 4) == 0) {
-			int dev = (int) simple_strtoul(argv[2], NULL, 10);
+			int dev = (int)simple_strtoul(argv[2], NULL, 10);
 
-			if (ide_dev_desc[dev].part_type != PART_TYPE_UNKNOWN) {
-				part_print(&ide_dev_desc[dev]);
-			} else {
-				printf("\nIDE device %d not available\n",
-				       dev);
-				rcode = 1;
+			if (blk_print_part_devnum(IF_TYPE_IDE, dev)) {
+				printf("\nIDE device %d not available\n", dev);
+				return CMD_RET_FAILURE;
 			}
-			return rcode;
+			return 1;
 		}
 
 		return CMD_RET_USAGE;
@@ -188,26 +95,22 @@
 		if (strcmp(argv[1], "read") == 0) {
 			ulong addr = simple_strtoul(argv[2], NULL, 16);
 			ulong cnt = simple_strtoul(argv[4], NULL, 16);
-			struct blk_desc *dev_desc;
 			ulong n;
 
 #ifdef CONFIG_SYS_64BIT_LBA
 			lbaint_t blk = simple_strtoull(argv[3], NULL, 16);
 
-			printf("\nIDE read: device %d block # %lld, count %ld ... ",
-				curr_device, blk, cnt);
+			printf("\nIDE read: device %d block # %lld, count %ld...",
+			       curr_device, blk, cnt);
 #else
 			lbaint_t blk = simple_strtoul(argv[3], NULL, 16);
 
-			printf("\nIDE read: device %d block # %ld, count %ld ... ",
-				curr_device, blk, cnt);
+			printf("\nIDE read: device %d block # %ld, count %ld...",
+			       curr_device, blk, cnt);
 #endif
 
-			dev_desc = &ide_dev_desc[curr_device];
-			n = blk_dread(dev_desc, blk, cnt, (ulong *)addr);
-			/* flush cache after read */
-			flush_cache(addr,
-				    cnt * ide_dev_desc[curr_device].blksz);
+			n = blk_read_devnum(IF_TYPE_IDE, curr_device, blk, cnt,
+					    (ulong *)addr);
 
 			printf("%ld blocks read: %s\n",
 			       n, (n == cnt) ? "OK" : "ERROR");
@@ -223,19 +126,19 @@
 #ifdef CONFIG_SYS_64BIT_LBA
 			lbaint_t blk = simple_strtoull(argv[3], NULL, 16);
 
-			printf("\nIDE write: device %d block # %lld, count %ld ... ",
-				curr_device, blk, cnt);
+			printf("\nIDE write: device %d block # %lld, count %ld...",
+			       curr_device, blk, cnt);
 #else
 			lbaint_t blk = simple_strtoul(argv[3], NULL, 16);
 
-			printf("\nIDE write: device %d block # %ld, count %ld ... ",
-				curr_device, blk, cnt);
+			printf("\nIDE write: device %d block # %ld, count %ld...",
+			       curr_device, blk, cnt);
 #endif
-			n = ide_write(&ide_dev_desc[curr_device], blk, cnt,
-				      (ulong *)addr);
+			n = blk_write_devnum(IF_TYPE_IDE, curr_device, blk, cnt,
+					     (ulong *)addr);
 
-			printf("%ld blocks written: %s\n",
-				n, (n == cnt) ? "OK" : "ERROR");
+			printf("%ld blocks written: %s\n", n,
+			       n == cnt ? "OK" : "ERROR");
 			if (n == cnt)
 				return 0;
 			else
@@ -253,1195 +156,6 @@
 	return common_diskboot(cmdtp, "ide", argc, argv);
 }
 
-/* ------------------------------------------------------------------------- */
-
-__weak void ide_led(uchar led, uchar status)
-{
-#if defined(CONFIG_IDE_LED) && defined(PER8_BASE) /* required by LED_PORT */
-	static uchar led_buffer;	/* Buffer for current LED status */
-
-	uchar *led_port = LED_PORT;
-
-	if (status)		/* switch LED on        */
-		led_buffer |= led;
-	else			/* switch LED off       */
-		led_buffer &= ~led;
-
-	*led_port = led_buffer;
-#endif
-}
-
-#ifndef CONFIG_IDE_LED	/* define LED macros, they are not used anyways */
-# define DEVICE_LED(x) 0
-# define LED_IDE1 1
-# define LED_IDE2 2
-#endif
-
-/* ------------------------------------------------------------------------- */
-
-__weak void ide_outb(int dev, int port, unsigned char val)
-{
-	debug("ide_outb (dev= %d, port= 0x%x, val= 0x%02x) : @ 0x%08lx\n",
-	      dev, port, val,
-	      (ATA_CURR_BASE(dev) + CONFIG_SYS_ATA_PORT_ADDR(port)));
-
-#if defined(CONFIG_IDE_AHB)
-	if (port) {
-		/* write command */
-		ide_write_register(dev, port, val);
-	} else {
-		/* write data */
-		outb(val, (ATA_CURR_BASE(dev)));
-	}
-#else
-	outb(val, (ATA_CURR_BASE(dev) + CONFIG_SYS_ATA_PORT_ADDR(port)));
-#endif
-}
-
-__weak unsigned char ide_inb(int dev, int port)
-{
-	uchar val;
-
-#if defined(CONFIG_IDE_AHB)
-	val = ide_read_register(dev, port);
-#else
-	val = inb((ATA_CURR_BASE(dev) + CONFIG_SYS_ATA_PORT_ADDR(port)));
-#endif
-
-	debug("ide_inb (dev= %d, port= 0x%x) : @ 0x%08lx -> 0x%02x\n",
-	      dev, port,
-	      (ATA_CURR_BASE(dev) + CONFIG_SYS_ATA_PORT_ADDR(port)), val);
-	return val;
-}
-
-void ide_init(void)
-{
-	unsigned char c;
-	int i, bus;
-
-#ifdef CONFIG_IDE_8xx_PCCARD
-	extern int ide_devices_found;	/* Initialized in check_ide_device() */
-#endif /* CONFIG_IDE_8xx_PCCARD */
-
-#ifdef CONFIG_IDE_PREINIT
-	WATCHDOG_RESET();
-
-	if (ide_preinit()) {
-		puts("ide_preinit failed\n");
-		return;
-	}
-#endif /* CONFIG_IDE_PREINIT */
-
-	WATCHDOG_RESET();
-
-	/*
-	 * Reset the IDE just to be sure.
-	 * Light LED's to show
-	 */
-	ide_led((LED_IDE1 | LED_IDE2), 1);	/* LED's on     */
-
-	/* ATAPI Drives seems to need a proper IDE Reset */
-	ide_reset();
-
-#ifdef CONFIG_IDE_INIT_POSTRESET
-	WATCHDOG_RESET();
-
-	if (ide_init_postreset()) {
-		puts("ide_preinit_postreset failed\n");
-		return;
-	}
-#endif /* CONFIG_IDE_INIT_POSTRESET */
-
-	/*
-	 * Wait for IDE to get ready.
-	 * According to spec, this can take up to 31 seconds!
-	 */
-	for (bus = 0; bus < CONFIG_SYS_IDE_MAXBUS; ++bus) {
-		int dev =
-			bus * (CONFIG_SYS_IDE_MAXDEVICE /
-			       CONFIG_SYS_IDE_MAXBUS);
-
-#ifdef CONFIG_IDE_8xx_PCCARD
-		/* Skip non-ide devices from probing */
-		if ((ide_devices_found & (1 << bus)) == 0) {
-			ide_led((LED_IDE1 | LED_IDE2), 0);	/* LED's off */
-			continue;
-		}
-#endif
-		printf("Bus %d: ", bus);
-
-		ide_bus_ok[bus] = 0;
-
-		/* Select device
-		 */
-		udelay(100000);	/* 100 ms */
-		ide_outb(dev, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(dev));
-		udelay(100000);	/* 100 ms */
-		i = 0;
-		do {
-			udelay(10000);	/* 10 ms */
-
-			c = ide_inb(dev, ATA_STATUS);
-			i++;
-			if (i > (ATA_RESET_TIME * 100)) {
-				puts("** Timeout **\n");
-				/* LED's off */
-				ide_led((LED_IDE1 | LED_IDE2), 0);
-				return;
-			}
-			if ((i >= 100) && ((i % 100) == 0))
-				putc('.');
-
-		} while (c & ATA_STAT_BUSY);
-
-		if (c & (ATA_STAT_BUSY | ATA_STAT_FAULT)) {
-			puts("not available  ");
-			debug("Status = 0x%02X ", c);
-#ifndef CONFIG_ATAPI		/* ATAPI Devices do not set DRDY */
-		} else if ((c & ATA_STAT_READY) == 0) {
-			puts("not available  ");
-			debug("Status = 0x%02X ", c);
-#endif
-		} else {
-			puts("OK ");
-			ide_bus_ok[bus] = 1;
-		}
-		WATCHDOG_RESET();
-	}
-
-	putc('\n');
-
-	ide_led((LED_IDE1 | LED_IDE2), 0);	/* LED's off    */
-
-	curr_device = -1;
-	for (i = 0; i < CONFIG_SYS_IDE_MAXDEVICE; ++i) {
-		int led = (IDE_BUS(i) == 0) ? LED_IDE1 : LED_IDE2;
-		ide_dev_desc[i].type = DEV_TYPE_UNKNOWN;
-		ide_dev_desc[i].if_type = IF_TYPE_IDE;
-		ide_dev_desc[i].devnum = i;
-		ide_dev_desc[i].part_type = PART_TYPE_UNKNOWN;
-		ide_dev_desc[i].blksz = 0;
-		ide_dev_desc[i].log2blksz =
-			LOG2_INVALID(typeof(ide_dev_desc[i].log2blksz));
-		ide_dev_desc[i].lba = 0;
-		ide_dev_desc[i].block_read = ide_read;
-		ide_dev_desc[i].block_write = ide_write;
-		if (!ide_bus_ok[IDE_BUS(i)])
-			continue;
-		ide_led(led, 1);	/* LED on       */
-		ide_ident(&ide_dev_desc[i]);
-		ide_led(led, 0);	/* LED off      */
-		dev_print(&ide_dev_desc[i]);
-
-		if ((ide_dev_desc[i].lba > 0) && (ide_dev_desc[i].blksz > 0)) {
-			/* initialize partition type */
-			part_init(&ide_dev_desc[i]);
-			if (curr_device < 0)
-				curr_device = i;
-		}
-	}
-	WATCHDOG_RESET();
-}
-
-/* ------------------------------------------------------------------------- */
-
-#ifdef CONFIG_PARTITIONS
-struct blk_desc *ide_get_dev(int dev)
-{
-	return (dev < CONFIG_SYS_IDE_MAXDEVICE) ? &ide_dev_desc[dev] : NULL;
-}
-#endif
-
-/* ------------------------------------------------------------------------- */
-
-/* We only need to swap data if we are running on a big endian cpu. */
-#if defined(__LITTLE_ENDIAN)
-__weak void ide_input_swap_data(int dev, ulong *sect_buf, int words)
-{
-	ide_input_data(dev, sect_buf, words);
-}
-#else
-__weak void ide_input_swap_data(int dev, ulong *sect_buf, int words)
-{
-	volatile ushort *pbuf =
-		(ushort *) (ATA_CURR_BASE(dev) + ATA_DATA_REG);
-	ushort *dbuf = (ushort *) sect_buf;
-
-	debug("in input swap data base for read is %lx\n",
-	      (unsigned long) pbuf);
-
-	while (words--) {
-#ifdef __MIPS__
-		*dbuf++ = swab16p((u16 *) pbuf);
-		*dbuf++ = swab16p((u16 *) pbuf);
-#else
-		*dbuf++ = ld_le16(pbuf);
-		*dbuf++ = ld_le16(pbuf);
-#endif /* !MIPS */
-	}
-}
-#endif /* __LITTLE_ENDIAN */
-
-
-#if defined(CONFIG_IDE_SWAP_IO)
-__weak void ide_output_data(int dev, const ulong *sect_buf, int words)
-{
-	ushort *dbuf;
-	volatile ushort *pbuf;
-
-	pbuf = (ushort *) (ATA_CURR_BASE(dev) + ATA_DATA_REG);
-	dbuf = (ushort *) sect_buf;
-	while (words--) {
-		EIEIO;
-		*pbuf = *dbuf++;
-		EIEIO;
-		*pbuf = *dbuf++;
-	}
-}
-#else  /* ! CONFIG_IDE_SWAP_IO */
-__weak void ide_output_data(int dev, const ulong *sect_buf, int words)
-{
-#if defined(CONFIG_IDE_AHB)
-	ide_write_data(dev, sect_buf, words);
-#else
-	outsw(ATA_CURR_BASE(dev) + ATA_DATA_REG, sect_buf, words << 1);
-#endif
-}
-#endif /* CONFIG_IDE_SWAP_IO */
-
-#if defined(CONFIG_IDE_SWAP_IO)
-__weak void ide_input_data(int dev, ulong *sect_buf, int words)
-{
-	ushort *dbuf;
-	volatile ushort *pbuf;
-
-	pbuf = (ushort *) (ATA_CURR_BASE(dev) + ATA_DATA_REG);
-	dbuf = (ushort *) sect_buf;
-
-	debug("in input data base for read is %lx\n", (unsigned long) pbuf);
-
-	while (words--) {
-		EIEIO;
-		*dbuf++ = *pbuf;
-		EIEIO;
-		*dbuf++ = *pbuf;
-	}
-}
-#else  /* ! CONFIG_IDE_SWAP_IO */
-__weak void ide_input_data(int dev, ulong *sect_buf, int words)
-{
-#if defined(CONFIG_IDE_AHB)
-	ide_read_data(dev, sect_buf, words);
-#else
-	insw(ATA_CURR_BASE(dev) + ATA_DATA_REG, sect_buf, words << 1);
-#endif
-}
-
-#endif /* CONFIG_IDE_SWAP_IO */
-
-/* -------------------------------------------------------------------------
- */
-static void ide_ident(struct blk_desc *dev_desc)
-{
-	unsigned char c;
-	hd_driveid_t iop;
-
-#ifdef CONFIG_ATAPI
-	int retries = 0;
-#endif
-	int device;
-
-	device = dev_desc->devnum;
-	printf("  Device %d: ", device);
-
-	ide_led(DEVICE_LED(device), 1);	/* LED on       */
-	/* Select device
-	 */
-	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
-	dev_desc->if_type = IF_TYPE_IDE;
-#ifdef CONFIG_ATAPI
-
-	retries = 0;
-
-	/* Warning: This will be tricky to read */
-	while (retries <= 1) {
-		/* check signature */
-		if ((ide_inb(device, ATA_SECT_CNT) == 0x01) &&
-		    (ide_inb(device, ATA_SECT_NUM) == 0x01) &&
-		    (ide_inb(device, ATA_CYL_LOW) == 0x14) &&
-		    (ide_inb(device, ATA_CYL_HIGH) == 0xEB)) {
-			/* ATAPI Signature found */
-			dev_desc->if_type = IF_TYPE_ATAPI;
-			/*
-			 * Start Ident Command
-			 */
-			ide_outb(device, ATA_COMMAND, ATAPI_CMD_IDENT);
-			/*
-			 * Wait for completion - ATAPI devices need more time
-			 * to become ready
-			 */
-			c = ide_wait(device, ATAPI_TIME_OUT);
-		} else
-#endif
-		{
-			/*
-			 * Start Ident Command
-			 */
-			ide_outb(device, ATA_COMMAND, ATA_CMD_IDENT);
-
-			/*
-			 * Wait for completion
-			 */
-			c = ide_wait(device, IDE_TIME_OUT);
-		}
-		ide_led(DEVICE_LED(device), 0);	/* LED off      */
-
-		if (((c & ATA_STAT_DRQ) == 0) ||
-		    ((c & (ATA_STAT_FAULT | ATA_STAT_ERR)) != 0)) {
-#ifdef CONFIG_ATAPI
-			{
-				/*
-				 * Need to soft reset the device
-				 * in case it's an ATAPI...
-				 */
-				debug("Retrying...\n");
-				ide_outb(device, ATA_DEV_HD,
-					 ATA_LBA | ATA_DEVICE(device));
-				udelay(100000);
-				ide_outb(device, ATA_COMMAND, 0x08);
-				udelay(500000);	/* 500 ms */
-			}
-			/*
-			 * Select device
-			 */
-			ide_outb(device, ATA_DEV_HD,
-				 ATA_LBA | ATA_DEVICE(device));
-			retries++;
-#else
-			return;
-#endif
-		}
-#ifdef CONFIG_ATAPI
-		else
-			break;
-	}			/* see above - ugly to read */
-
-	if (retries == 2)	/* Not found */
-		return;
-#endif
-
-	ide_input_swap_data(device, (ulong *)&iop, ATA_SECTORWORDS);
-
-	ident_cpy((unsigned char *) dev_desc->revision, iop.fw_rev,
-		  sizeof(dev_desc->revision));
-	ident_cpy((unsigned char *) dev_desc->vendor, iop.model,
-		  sizeof(dev_desc->vendor));
-	ident_cpy((unsigned char *) dev_desc->product, iop.serial_no,
-		  sizeof(dev_desc->product));
-#ifdef __LITTLE_ENDIAN
-	/*
-	 * firmware revision, model, and serial number have Big Endian Byte
-	 * order in Word. Convert all three to little endian.
-	 *
-	 * See CF+ and CompactFlash Specification Revision 2.0:
-	 * 6.2.1.6: Identify Drive, Table 39 for more details
-	 */
-
-	strswab(dev_desc->revision);
-	strswab(dev_desc->vendor);
-	strswab(dev_desc->product);
-#endif /* __LITTLE_ENDIAN */
-
-	if ((iop.config & 0x0080) == 0x0080)
-		dev_desc->removable = 1;
-	else
-		dev_desc->removable = 0;
-
-#ifdef CONFIG_ATAPI
-	if (dev_desc->if_type == IF_TYPE_ATAPI) {
-		atapi_inquiry(dev_desc);
-		return;
-	}
-#endif /* CONFIG_ATAPI */
-
-#ifdef __BIG_ENDIAN
-	/* swap shorts */
-	dev_desc->lba = (iop.lba_capacity << 16) | (iop.lba_capacity >> 16);
-#else  /* ! __BIG_ENDIAN */
-	/*
-	 * do not swap shorts on little endian
-	 *
-	 * See CF+ and CompactFlash Specification Revision 2.0:
-	 * 6.2.1.6: Identfy Drive, Table 39, Word Address 57-58 for details.
-	 */
-	dev_desc->lba = iop.lba_capacity;
-#endif /* __BIG_ENDIAN */
-
-#ifdef CONFIG_LBA48
-	if (iop.command_set_2 & 0x0400) {	/* LBA 48 support */
-		dev_desc->lba48 = 1;
-		dev_desc->lba = (unsigned long long) iop.lba48_capacity[0] |
-			((unsigned long long) iop.lba48_capacity[1] << 16) |
-			((unsigned long long) iop.lba48_capacity[2] << 32) |
-			((unsigned long long) iop.lba48_capacity[3] << 48);
-	} else {
-		dev_desc->lba48 = 0;
-	}
-#endif /* CONFIG_LBA48 */
-	/* assuming HD */
-	dev_desc->type = DEV_TYPE_HARDDISK;
-	dev_desc->blksz = ATA_BLOCKSIZE;
-	dev_desc->log2blksz = LOG2(dev_desc->blksz);
-	dev_desc->lun = 0;	/* just to fill something in... */
-
-#if 0				/* only used to test the powersaving mode,
-				 * if enabled, the drive goes after 5 sec
-				 * in standby mode */
-	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
-	c = ide_wait(device, IDE_TIME_OUT);
-	ide_outb(device, ATA_SECT_CNT, 1);
-	ide_outb(device, ATA_LBA_LOW, 0);
-	ide_outb(device, ATA_LBA_MID, 0);
-	ide_outb(device, ATA_LBA_HIGH, 0);
-	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
-	ide_outb(device, ATA_COMMAND, 0xe3);
-	udelay(50);
-	c = ide_wait(device, IDE_TIME_OUT);	/* can't take over 500 ms */
-#endif
-}
-
-
-/* ------------------------------------------------------------------------- */
-
-ulong ide_read(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t blkcnt,
-	       void *buffer)
-{
-	int device = block_dev->devnum;
-	ulong n = 0;
-	unsigned char c;
-	unsigned char pwrsave = 0;	/* power save */
-
-#ifdef CONFIG_LBA48
-	unsigned char lba48 = 0;
-
-	if (blknr & 0x0000fffff0000000ULL) {
-		/* more than 28 bits used, use 48bit mode */
-		lba48 = 1;
-	}
-#endif
-	debug("ide_read dev %d start " LBAF ", blocks " LBAF " buffer at %lX\n",
-	      device, blknr, blkcnt, (ulong) buffer);
-
-	ide_led(DEVICE_LED(device), 1);	/* LED on       */
-
-	/* Select device
-	 */
-	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
-	c = ide_wait(device, IDE_TIME_OUT);
-
-	if (c & ATA_STAT_BUSY) {
-		printf("IDE read: device %d not ready\n", device);
-		goto IDE_READ_E;
-	}
-
-	/* first check if the drive is in Powersaving mode, if yes,
-	 * increase the timeout value */
-	ide_outb(device, ATA_COMMAND, ATA_CMD_CHK_PWR);
-	udelay(50);
-
-	c = ide_wait(device, IDE_TIME_OUT);	/* can't take over 500 ms */
-
-	if (c & ATA_STAT_BUSY) {
-		printf("IDE read: device %d not ready\n", device);
-		goto IDE_READ_E;
-	}
-	if ((c & ATA_STAT_ERR) == ATA_STAT_ERR) {
-		printf("No Powersaving mode %X\n", c);
-	} else {
-		c = ide_inb(device, ATA_SECT_CNT);
-		debug("Powersaving %02X\n", c);
-		if (c == 0)
-			pwrsave = 1;
-	}
-
-
-	while (blkcnt-- > 0) {
-
-		c = ide_wait(device, IDE_TIME_OUT);
-
-		if (c & ATA_STAT_BUSY) {
-			printf("IDE read: device %d not ready\n", device);
-			break;
-		}
-#ifdef CONFIG_LBA48
-		if (lba48) {
-			/* write high bits */
-			ide_outb(device, ATA_SECT_CNT, 0);
-			ide_outb(device, ATA_LBA_LOW, (blknr >> 24) & 0xFF);
-#ifdef CONFIG_SYS_64BIT_LBA
-			ide_outb(device, ATA_LBA_MID, (blknr >> 32) & 0xFF);
-			ide_outb(device, ATA_LBA_HIGH, (blknr >> 40) & 0xFF);
-#else
-			ide_outb(device, ATA_LBA_MID, 0);
-			ide_outb(device, ATA_LBA_HIGH, 0);
-#endif
-		}
-#endif
-		ide_outb(device, ATA_SECT_CNT, 1);
-		ide_outb(device, ATA_LBA_LOW, (blknr >> 0) & 0xFF);
-		ide_outb(device, ATA_LBA_MID, (blknr >> 8) & 0xFF);
-		ide_outb(device, ATA_LBA_HIGH, (blknr >> 16) & 0xFF);
-
-#ifdef CONFIG_LBA48
-		if (lba48) {
-			ide_outb(device, ATA_DEV_HD,
-				 ATA_LBA | ATA_DEVICE(device));
-			ide_outb(device, ATA_COMMAND, ATA_CMD_READ_EXT);
-
-		} else
-#endif
-		{
-			ide_outb(device, ATA_DEV_HD, ATA_LBA |
-				 ATA_DEVICE(device) | ((blknr >> 24) & 0xF));
-			ide_outb(device, ATA_COMMAND, ATA_CMD_READ);
-		}
-
-		udelay(50);
-
-		if (pwrsave) {
-			/* may take up to 4 sec */
-			c = ide_wait(device, IDE_SPIN_UP_TIME_OUT);
-			pwrsave = 0;
-		} else {
-			/* can't take over 500 ms */
-			c = ide_wait(device, IDE_TIME_OUT);
-		}
-
-		if ((c & (ATA_STAT_DRQ | ATA_STAT_BUSY | ATA_STAT_ERR)) !=
-		    ATA_STAT_DRQ) {
-			printf("Error (no IRQ) dev %d blk " LBAF ": status "
-			       "%#02x\n", device, blknr, c);
-			break;
-		}
-
-		ide_input_data(device, buffer, ATA_SECTORWORDS);
-		(void) ide_inb(device, ATA_STATUS);	/* clear IRQ */
-
-		++n;
-		++blknr;
-		buffer += ATA_BLOCKSIZE;
-	}
-IDE_READ_E:
-	ide_led(DEVICE_LED(device), 0);	/* LED off      */
-	return (n);
-}
-
-/* ------------------------------------------------------------------------- */
-
-
-ulong ide_write(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t blkcnt,
-		const void *buffer)
-{
-	int device = block_dev->devnum;
-	ulong n = 0;
-	unsigned char c;
-
-#ifdef CONFIG_LBA48
-	unsigned char lba48 = 0;
-
-	if (blknr & 0x0000fffff0000000ULL) {
-		/* more than 28 bits used, use 48bit mode */
-		lba48 = 1;
-	}
-#endif
-
-	ide_led(DEVICE_LED(device), 1);	/* LED on       */
-
-	/* Select device
-	 */
-	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
-
-	while (blkcnt-- > 0) {
-
-		c = ide_wait(device, IDE_TIME_OUT);
-
-		if (c & ATA_STAT_BUSY) {
-			printf("IDE read: device %d not ready\n", device);
-			goto WR_OUT;
-		}
-#ifdef CONFIG_LBA48
-		if (lba48) {
-			/* write high bits */
-			ide_outb(device, ATA_SECT_CNT, 0);
-			ide_outb(device, ATA_LBA_LOW, (blknr >> 24) & 0xFF);
-#ifdef CONFIG_SYS_64BIT_LBA
-			ide_outb(device, ATA_LBA_MID, (blknr >> 32) & 0xFF);
-			ide_outb(device, ATA_LBA_HIGH, (blknr >> 40) & 0xFF);
-#else
-			ide_outb(device, ATA_LBA_MID, 0);
-			ide_outb(device, ATA_LBA_HIGH, 0);
-#endif
-		}
-#endif
-		ide_outb(device, ATA_SECT_CNT, 1);
-		ide_outb(device, ATA_LBA_LOW, (blknr >> 0) & 0xFF);
-		ide_outb(device, ATA_LBA_MID, (blknr >> 8) & 0xFF);
-		ide_outb(device, ATA_LBA_HIGH, (blknr >> 16) & 0xFF);
-
-#ifdef CONFIG_LBA48
-		if (lba48) {
-			ide_outb(device, ATA_DEV_HD,
-				 ATA_LBA | ATA_DEVICE(device));
-			ide_outb(device, ATA_COMMAND, ATA_CMD_WRITE_EXT);
-
-		} else
-#endif
-		{
-			ide_outb(device, ATA_DEV_HD, ATA_LBA |
-				 ATA_DEVICE(device) | ((blknr >> 24) & 0xF));
-			ide_outb(device, ATA_COMMAND, ATA_CMD_WRITE);
-		}
-
-		udelay(50);
-
-		/* can't take over 500 ms */
-		c = ide_wait(device, IDE_TIME_OUT);
-
-		if ((c & (ATA_STAT_DRQ | ATA_STAT_BUSY | ATA_STAT_ERR)) !=
-		    ATA_STAT_DRQ) {
-			printf("Error (no IRQ) dev %d blk " LBAF ": status "
-				"%#02x\n", device, blknr, c);
-			goto WR_OUT;
-		}
-
-		ide_output_data(device, buffer, ATA_SECTORWORDS);
-		c = ide_inb(device, ATA_STATUS);	/* clear IRQ */
-		++n;
-		++blknr;
-		buffer += ATA_BLOCKSIZE;
-	}
-WR_OUT:
-	ide_led(DEVICE_LED(device), 0);	/* LED off      */
-	return (n);
-}
-
-/* ------------------------------------------------------------------------- */
-
-/*
- * copy src to dest, skipping leading and trailing blanks and null
- * terminate the string
- * "len" is the size of available memory including the terminating '\0'
- */
-static void ident_cpy(unsigned char *dst, unsigned char *src,
-		      unsigned int len)
-{
-	unsigned char *end, *last;
-
-	last = dst;
-	end = src + len - 1;
-
-	/* reserve space for '\0' */
-	if (len < 2)
-		goto OUT;
-
-	/* skip leading white space */
-	while ((*src) && (src < end) && (*src == ' '))
-		++src;
-
-	/* copy string, omitting trailing white space */
-	while ((*src) && (src < end)) {
-		*dst++ = *src;
-		if (*src++ != ' ')
-			last = dst;
-	}
-OUT:
-	*last = '\0';
-}
-
-/* ------------------------------------------------------------------------- */
-
-/*
- * Wait until Busy bit is off, or timeout (in ms)
- * Return last status
- */
-static uchar ide_wait(int dev, ulong t)
-{
-	ulong delay = 10 * t;	/* poll every 100 us */
-	uchar c;
-
-	while ((c = ide_inb(dev, ATA_STATUS)) & ATA_STAT_BUSY) {
-		udelay(100);
-		if (delay-- == 0)
-			break;
-	}
-	return (c);
-}
-
-/* ------------------------------------------------------------------------- */
-
-#ifdef CONFIG_IDE_RESET
-extern void ide_set_reset(int idereset);
-
-static void ide_reset(void)
-{
-	int i;
-
-	curr_device = -1;
-	for (i = 0; i < CONFIG_SYS_IDE_MAXBUS; ++i)
-		ide_bus_ok[i] = 0;
-	for (i = 0; i < CONFIG_SYS_IDE_MAXDEVICE; ++i)
-		ide_dev_desc[i].type = DEV_TYPE_UNKNOWN;
-
-	ide_set_reset(1);	/* assert reset */
-
-	/* the reset signal shall be asserted for et least 25 us */
-	udelay(25);
-
-	WATCHDOG_RESET();
-
-	/* de-assert RESET signal */
-	ide_set_reset(0);
-
-	/* wait 250 ms */
-	for (i = 0; i < 250; ++i)
-		udelay(1000);
-}
-
-#endif /* CONFIG_IDE_RESET */
-
-/* ------------------------------------------------------------------------- */
-
-#if defined(CONFIG_OF_IDE_FIXUP)
-int ide_device_present(int dev)
-{
-	if (dev >= CONFIG_SYS_IDE_MAXBUS)
-		return 0;
-	return (ide_dev_desc[dev].type == DEV_TYPE_UNKNOWN ? 0 : 1);
-}
-#endif
-/* ------------------------------------------------------------------------- */
-
-#ifdef CONFIG_ATAPI
-/****************************************************************************
- * ATAPI Support
- */
-
-#if defined(CONFIG_IDE_SWAP_IO)
-/* since ATAPI may use commands with not 4 bytes alligned length
- * we have our own transfer functions, 2 bytes alligned */
-__weak void ide_output_data_shorts(int dev, ushort *sect_buf, int shorts)
-{
-	ushort *dbuf;
-	volatile ushort *pbuf;
-
-	pbuf = (ushort *) (ATA_CURR_BASE(dev) + ATA_DATA_REG);
-	dbuf = (ushort *) sect_buf;
-
-	debug("in output data shorts base for read is %lx\n",
-	      (unsigned long) pbuf);
-
-	while (shorts--) {
-		EIEIO;
-		*pbuf = *dbuf++;
-	}
-}
-
-__weak void ide_input_data_shorts(int dev, ushort *sect_buf, int shorts)
-{
-	ushort *dbuf;
-	volatile ushort *pbuf;
-
-	pbuf = (ushort *) (ATA_CURR_BASE(dev) + ATA_DATA_REG);
-	dbuf = (ushort *) sect_buf;
-
-	debug("in input data shorts base for read is %lx\n",
-	      (unsigned long) pbuf);
-
-	while (shorts--) {
-		EIEIO;
-		*dbuf++ = *pbuf;
-	}
-}
-
-#else  /* ! CONFIG_IDE_SWAP_IO */
-__weak void ide_output_data_shorts(int dev, ushort *sect_buf, int shorts)
-{
-	outsw(ATA_CURR_BASE(dev) + ATA_DATA_REG, sect_buf, shorts);
-}
-
-__weak void ide_input_data_shorts(int dev, ushort *sect_buf, int shorts)
-{
-	insw(ATA_CURR_BASE(dev) + ATA_DATA_REG, sect_buf, shorts);
-}
-
-#endif /* CONFIG_IDE_SWAP_IO */
-
-/*
- * Wait until (Status & mask) == res, or timeout (in ms)
- * Return last status
- * This is used since some ATAPI CD ROMs clears their Busy Bit first
- * and then they set their DRQ Bit
- */
-static uchar atapi_wait_mask(int dev, ulong t, uchar mask, uchar res)
-{
-	ulong delay = 10 * t;	/* poll every 100 us */
-	uchar c;
-
-	/* prevents to read the status before valid */
-	c = ide_inb(dev, ATA_DEV_CTL);
-
-	while (((c = ide_inb(dev, ATA_STATUS)) & mask) != res) {
-		/* break if error occurs (doesn't make sense to wait more) */
-		if ((c & ATA_STAT_ERR) == ATA_STAT_ERR)
-			break;
-		udelay(100);
-		if (delay-- == 0)
-			break;
-	}
-	return (c);
-}
-
-/*
- * issue an atapi command
- */
-unsigned char atapi_issue(int device, unsigned char *ccb, int ccblen,
-			  unsigned char *buffer, int buflen)
-{
-	unsigned char c, err, mask, res;
-	int n;
-
-	ide_led(DEVICE_LED(device), 1);	/* LED on       */
-
-	/* Select device
-	 */
-	mask = ATA_STAT_BUSY | ATA_STAT_DRQ;
-	res = 0;
-	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
-	c = atapi_wait_mask(device, ATAPI_TIME_OUT, mask, res);
-	if ((c & mask) != res) {
-		printf("ATAPI_ISSUE: device %d not ready status %X\n", device,
-		       c);
-		err = 0xFF;
-		goto AI_OUT;
-	}
-	/* write taskfile */
-	ide_outb(device, ATA_ERROR_REG, 0);	/* no DMA, no overlaped */
-	ide_outb(device, ATA_SECT_CNT, 0);
-	ide_outb(device, ATA_SECT_NUM, 0);
-	ide_outb(device, ATA_CYL_LOW, (unsigned char) (buflen & 0xFF));
-	ide_outb(device, ATA_CYL_HIGH,
-		 (unsigned char) ((buflen >> 8) & 0xFF));
-	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
-
-	ide_outb(device, ATA_COMMAND, ATAPI_CMD_PACKET);
-	udelay(50);
-
-	mask = ATA_STAT_DRQ | ATA_STAT_BUSY | ATA_STAT_ERR;
-	res = ATA_STAT_DRQ;
-	c = atapi_wait_mask(device, ATAPI_TIME_OUT, mask, res);
-
-	if ((c & mask) != res) {	/* DRQ must be 1, BSY 0 */
-		printf("ATAPI_ISSUE: Error (no IRQ) before sending ccb dev %d status 0x%02x\n",
-			device, c);
-		err = 0xFF;
-		goto AI_OUT;
-	}
-
-	/* write command block */
-	ide_output_data_shorts(device, (unsigned short *) ccb, ccblen / 2);
-
-	/* ATAPI Command written wait for completition */
-	udelay(5000);		/* device must set bsy */
-
-	mask = ATA_STAT_DRQ | ATA_STAT_BUSY | ATA_STAT_ERR;
-	/*
-	 * if no data wait for DRQ = 0 BSY = 0
-	 * if data wait for DRQ = 1 BSY = 0
-	 */
-	res = 0;
-	if (buflen)
-		res = ATA_STAT_DRQ;
-	c = atapi_wait_mask(device, ATAPI_TIME_OUT, mask, res);
-	if ((c & mask) != res) {
-		if (c & ATA_STAT_ERR) {
-			err = (ide_inb(device, ATA_ERROR_REG)) >> 4;
-			debug("atapi_issue 1 returned sense key %X status %02X\n",
-				err, c);
-		} else {
-			printf("ATAPI_ISSUE: (no DRQ) after sending ccb (%x)  status 0x%02x\n",
-				ccb[0], c);
-			err = 0xFF;
-		}
-		goto AI_OUT;
-	}
-	n = ide_inb(device, ATA_CYL_HIGH);
-	n <<= 8;
-	n += ide_inb(device, ATA_CYL_LOW);
-	if (n > buflen) {
-		printf("ERROR, transfer bytes %d requested only %d\n", n,
-		       buflen);
-		err = 0xff;
-		goto AI_OUT;
-	}
-	if ((n == 0) && (buflen < 0)) {
-		printf("ERROR, transfer bytes %d requested %d\n", n, buflen);
-		err = 0xff;
-		goto AI_OUT;
-	}
-	if (n != buflen) {
-		debug("WARNING, transfer bytes %d not equal with requested %d\n",
-			n, buflen);
-	}
-	if (n != 0) {		/* data transfer */
-		debug("ATAPI_ISSUE: %d Bytes to transfer\n", n);
-		/* we transfer shorts */
-		n >>= 1;
-		/* ok now decide if it is an in or output */
-		if ((ide_inb(device, ATA_SECT_CNT) & 0x02) == 0) {
-			debug("Write to device\n");
-			ide_output_data_shorts(device,
-				(unsigned short *) buffer, n);
-		} else {
-			debug("Read from device @ %p shorts %d\n", buffer, n);
-			ide_input_data_shorts(device,
-				(unsigned short *) buffer, n);
-		}
-	}
-	udelay(5000);		/* seems that some CD ROMs need this... */
-	mask = ATA_STAT_BUSY | ATA_STAT_ERR;
-	res = 0;
-	c = atapi_wait_mask(device, ATAPI_TIME_OUT, mask, res);
-	if ((c & ATA_STAT_ERR) == ATA_STAT_ERR) {
-		err = (ide_inb(device, ATA_ERROR_REG) >> 4);
-		debug("atapi_issue 2 returned sense key %X status %X\n", err,
-		      c);
-	} else {
-		err = 0;
-	}
-AI_OUT:
-	ide_led(DEVICE_LED(device), 0);	/* LED off      */
-	return (err);
-}
-
-/*
- * sending the command to atapi_issue. If an status other than good
- * returns, an request_sense will be issued
- */
-
-#define ATAPI_DRIVE_NOT_READY	100
-#define ATAPI_UNIT_ATTN		10
-
-unsigned char atapi_issue_autoreq(int device,
-				  unsigned char *ccb,
-				  int ccblen,
-				  unsigned char *buffer, int buflen)
-{
-	unsigned char sense_data[18], sense_ccb[12];
-	unsigned char res, key, asc, ascq;
-	int notready, unitattn;
-
-	unitattn = ATAPI_UNIT_ATTN;
-	notready = ATAPI_DRIVE_NOT_READY;
-
-retry:
-	res = atapi_issue(device, ccb, ccblen, buffer, buflen);
-	if (res == 0)
-		return 0;	/* Ok */
-
-	if (res == 0xFF)
-		return 0xFF;	/* error */
-
-	debug("(auto_req)atapi_issue returned sense key %X\n", res);
-
-	memset(sense_ccb, 0, sizeof(sense_ccb));
-	memset(sense_data, 0, sizeof(sense_data));
-	sense_ccb[0] = ATAPI_CMD_REQ_SENSE;
-	sense_ccb[4] = 18;	/* allocation Length */
-
-	res = atapi_issue(device, sense_ccb, 12, sense_data, 18);
-	key = (sense_data[2] & 0xF);
-	asc = (sense_data[12]);
-	ascq = (sense_data[13]);
-
-	debug("ATAPI_CMD_REQ_SENSE returned %x\n", res);
-	debug(" Sense page: %02X key %02X ASC %02X ASCQ %02X\n",
-	      sense_data[0], key, asc, ascq);
-
-	if ((key == 0))
-		return 0;	/* ok device ready */
-
-	if ((key == 6) || (asc == 0x29) || (asc == 0x28)) { /* Unit Attention */
-		if (unitattn-- > 0) {
-			udelay(200 * 1000);
-			goto retry;
-		}
-		printf("Unit Attention, tried %d\n", ATAPI_UNIT_ATTN);
-		goto error;
-	}
-	if ((asc == 0x4) && (ascq == 0x1)) {
-		/* not ready, but will be ready soon */
-		if (notready-- > 0) {
-			udelay(200 * 1000);
-			goto retry;
-		}
-		printf("Drive not ready, tried %d times\n",
-		       ATAPI_DRIVE_NOT_READY);
-		goto error;
-	}
-	if (asc == 0x3a) {
-		debug("Media not present\n");
-		goto error;
-	}
-
-	printf("ERROR: Unknown Sense key %02X ASC %02X ASCQ %02X\n", key, asc,
-	       ascq);
-error:
-	debug("ERROR Sense key %02X ASC %02X ASCQ %02X\n", key, asc, ascq);
-	return (0xFF);
-}
-
-
-static void atapi_inquiry(struct blk_desc *dev_desc)
-{
-	unsigned char ccb[12];	/* Command descriptor block */
-	unsigned char iobuf[64];	/* temp buf */
-	unsigned char c;
-	int device;
-
-	device = dev_desc->devnum;
-	dev_desc->type = DEV_TYPE_UNKNOWN;	/* not yet valid */
-	dev_desc->block_read = atapi_read;
-
-	memset(ccb, 0, sizeof(ccb));
-	memset(iobuf, 0, sizeof(iobuf));
-
-	ccb[0] = ATAPI_CMD_INQUIRY;
-	ccb[4] = 40;		/* allocation Legnth */
-	c = atapi_issue_autoreq(device, ccb, 12, (unsigned char *) iobuf, 40);
-
-	debug("ATAPI_CMD_INQUIRY returned %x\n", c);
-	if (c != 0)
-		return;
-
-	/* copy device ident strings */
-	ident_cpy((unsigned char *) dev_desc->vendor, &iobuf[8], 8);
-	ident_cpy((unsigned char *) dev_desc->product, &iobuf[16], 16);
-	ident_cpy((unsigned char *) dev_desc->revision, &iobuf[32], 5);
-
-	dev_desc->lun = 0;
-	dev_desc->lba = 0;
-	dev_desc->blksz = 0;
-	dev_desc->log2blksz = LOG2_INVALID(typeof(dev_desc->log2blksz));
-	dev_desc->type = iobuf[0] & 0x1f;
-
-	if ((iobuf[1] & 0x80) == 0x80)
-		dev_desc->removable = 1;
-	else
-		dev_desc->removable = 0;
-
-	memset(ccb, 0, sizeof(ccb));
-	memset(iobuf, 0, sizeof(iobuf));
-	ccb[0] = ATAPI_CMD_START_STOP;
-	ccb[4] = 0x03;		/* start */
-
-	c = atapi_issue_autoreq(device, ccb, 12, (unsigned char *) iobuf, 0);
-
-	debug("ATAPI_CMD_START_STOP returned %x\n", c);
-	if (c != 0)
-		return;
-
-	memset(ccb, 0, sizeof(ccb));
-	memset(iobuf, 0, sizeof(iobuf));
-	c = atapi_issue_autoreq(device, ccb, 12, (unsigned char *) iobuf, 0);
-
-	debug("ATAPI_CMD_UNIT_TEST_READY returned %x\n", c);
-	if (c != 0)
-		return;
-
-	memset(ccb, 0, sizeof(ccb));
-	memset(iobuf, 0, sizeof(iobuf));
-	ccb[0] = ATAPI_CMD_READ_CAP;
-	c = atapi_issue_autoreq(device, ccb, 12, (unsigned char *) iobuf, 8);
-	debug("ATAPI_CMD_READ_CAP returned %x\n", c);
-	if (c != 0)
-		return;
-
-	debug("Read Cap: LBA %02X%02X%02X%02X blksize %02X%02X%02X%02X\n",
-	      iobuf[0], iobuf[1], iobuf[2], iobuf[3],
-	      iobuf[4], iobuf[5], iobuf[6], iobuf[7]);
-
-	dev_desc->lba = ((unsigned long) iobuf[0] << 24) +
-		((unsigned long) iobuf[1] << 16) +
-		((unsigned long) iobuf[2] << 8) + ((unsigned long) iobuf[3]);
-	dev_desc->blksz = ((unsigned long) iobuf[4] << 24) +
-		((unsigned long) iobuf[5] << 16) +
-		((unsigned long) iobuf[6] << 8) + ((unsigned long) iobuf[7]);
-	dev_desc->log2blksz = LOG2(dev_desc->blksz);
-#ifdef CONFIG_LBA48
-	/* ATAPI devices cannot use 48bit addressing (ATA/ATAPI v7) */
-	dev_desc->lba48 = 0;
-#endif
-	return;
-}
-
-
-/*
- * atapi_read:
- * we transfer only one block per command, since the multiple DRQ per
- * command is not yet implemented
- */
-#define ATAPI_READ_MAX_BYTES	2048	/* we read max 2kbytes */
-#define ATAPI_READ_BLOCK_SIZE	2048	/* assuming CD part */
-#define ATAPI_READ_MAX_BLOCK	(ATAPI_READ_MAX_BYTES/ATAPI_READ_BLOCK_SIZE)
-
-ulong atapi_read(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t blkcnt,
-		 void *buffer)
-{
-	int device = block_dev->devnum;
-	ulong n = 0;
-	unsigned char ccb[12];	/* Command descriptor block */
-	ulong cnt;
-
-	debug("atapi_read dev %d start " LBAF " blocks " LBAF " buffer at %lX\n",
-	      device, blknr, blkcnt, (ulong) buffer);
-
-	do {
-		if (blkcnt > ATAPI_READ_MAX_BLOCK)
-			cnt = ATAPI_READ_MAX_BLOCK;
-		else
-			cnt = blkcnt;
-
-		ccb[0] = ATAPI_CMD_READ_12;
-		ccb[1] = 0;	/* reserved */
-		ccb[2] = (unsigned char) (blknr >> 24) & 0xFF;	/* MSB Block */
-		ccb[3] = (unsigned char) (blknr >> 16) & 0xFF;	/*  */
-		ccb[4] = (unsigned char) (blknr >> 8) & 0xFF;
-		ccb[5] = (unsigned char) blknr & 0xFF;	/* LSB Block */
-		ccb[6] = (unsigned char) (cnt >> 24) & 0xFF; /* MSB Block cnt */
-		ccb[7] = (unsigned char) (cnt >> 16) & 0xFF;
-		ccb[8] = (unsigned char) (cnt >> 8) & 0xFF;
-		ccb[9] = (unsigned char) cnt & 0xFF;	/* LSB Block */
-		ccb[10] = 0;	/* reserved */
-		ccb[11] = 0;	/* reserved */
-
-		if (atapi_issue_autoreq(device, ccb, 12,
-					(unsigned char *) buffer,
-					cnt * ATAPI_READ_BLOCK_SIZE)
-		    == 0xFF) {
-			return (n);
-		}
-		n += cnt;
-		blkcnt -= cnt;
-		blknr += cnt;
-		buffer += (cnt * ATAPI_READ_BLOCK_SIZE);
-	} while (blkcnt > 0);
-	return (n);
-}
-
-/* ------------------------------------------------------------------------- */
-
-#endif /* CONFIG_ATAPI */
-
 U_BOOT_CMD(ide, 5, 1, do_ide,
 	   "IDE sub-system",
 	   "reset - reset IDE controller\n"
diff --git a/cmd/mmc.c b/cmd/mmc.c
index c5454bf..eb4a547 100644
--- a/cmd/mmc.c
+++ b/cmd/mmc.c
@@ -314,12 +314,14 @@
 	}
 	/* Switch to the RPMB partition */
 	original_part = mmc->block_dev.hwpart;
-	if (mmc_select_hwpart(curr_device, MMC_PART_RPMB) != 0)
+	if (blk_select_hwpart_devnum(IF_TYPE_MMC, curr_device, MMC_PART_RPMB) !=
+	    0)
 		return CMD_RET_FAILURE;
 	ret = cp->cmd(cmdtp, flag, argc, argv);
 
 	/* Return to original partition */
-	if (mmc_select_hwpart(curr_device, original_part) != 0)
+	if (blk_select_hwpart_devnum(IF_TYPE_MMC, curr_device, original_part) !=
+	    0)
 		return CMD_RET_FAILURE;
 	return ret;
 }
@@ -346,7 +348,7 @@
 	printf("\nMMC read: dev # %d, block # %d, count %d ... ",
 	       curr_device, blk, cnt);
 
-	n = blk_dread(&mmc->block_dev, blk, cnt, addr);
+	n = blk_dread(mmc_get_blk_desc(mmc), blk, cnt, addr);
 	/* flush cache after read */
 	flush_cache((ulong)addr, cnt * 512); /* FIXME */
 	printf("%d blocks read: %s\n", n, (n == cnt) ? "OK" : "ERROR");
@@ -378,7 +380,7 @@
 		printf("Error: card is write protected!\n");
 		return CMD_RET_FAILURE;
 	}
-	n = blk_dwrite(&mmc->block_dev, blk, cnt, addr);
+	n = blk_dwrite(mmc_get_blk_desc(mmc), blk, cnt, addr);
 	printf("%d blocks written: %s\n", n, (n == cnt) ? "OK" : "ERROR");
 
 	return (n == cnt) ? CMD_RET_SUCCESS : CMD_RET_FAILURE;
@@ -406,7 +408,7 @@
 		printf("Error: card is write protected!\n");
 		return CMD_RET_FAILURE;
 	}
-	n = blk_derase(&mmc->block_dev, blk, cnt);
+	n = blk_derase(mmc_get_blk_desc(mmc), blk, cnt);
 	printf("%d blocks erased: %s\n", n, (n == cnt) ? "OK" : "ERROR");
 
 	return (n == cnt) ? CMD_RET_SUCCESS : CMD_RET_FAILURE;
@@ -432,7 +434,7 @@
 	if (!mmc)
 		return CMD_RET_FAILURE;
 
-	mmc_dev = mmc_get_dev(curr_device);
+	mmc_dev = blk_get_devnum_by_type(IF_TYPE_MMC, curr_device);
 	if (mmc_dev != NULL && mmc_dev->type != DEV_TYPE_UNKNOWN) {
 		part_print(mmc_dev);
 		return CMD_RET_SUCCESS;
@@ -467,7 +469,7 @@
 	if (!mmc)
 		return CMD_RET_FAILURE;
 
-	ret = mmc_select_hwpart(dev, part);
+	ret = blk_select_hwpart_devnum(IF_TYPE_MMC, dev, part);
 	printf("switch to partitions #%d, %s\n",
 	       part, (!ret) ? "OK" : "ERROR");
 	if (ret)
@@ -478,7 +480,7 @@
 		printf("mmc%d is current device\n", curr_device);
 	else
 		printf("mmc%d(part %d) is current device\n",
-		       curr_device, mmc->block_dev.hwpart);
+		       curr_device, mmc_get_blk_desc(mmc)->hwpart);
 
 	return CMD_RET_SUCCESS;
 }
diff --git a/cmd/qfw.c b/cmd/qfw.c
new file mode 100644
index 0000000..12436ec
--- /dev/null
+++ b/cmd/qfw.c
@@ -0,0 +1,194 @@
+/*
+ * (C) Copyright 2015 Miao Yan <yanmiaobest@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <command.h>
+#include <errno.h>
+#include <qfw.h>
+
+/*
+ * This function prepares kernel for zboot. It loads kernel data
+ * to 'load_addr', initrd to 'initrd_addr' and kernel command
+ * line using qemu fw_cfg interface.
+ */
+static int qemu_fwcfg_setup_kernel(void *load_addr, void *initrd_addr)
+{
+	char *data_addr;
+	uint32_t setup_size, kernel_size, cmdline_size, initrd_size;
+
+	qemu_fwcfg_read_entry(FW_CFG_SETUP_SIZE, 4, &setup_size);
+	qemu_fwcfg_read_entry(FW_CFG_KERNEL_SIZE, 4, &kernel_size);
+
+	if (setup_size == 0 || kernel_size == 0) {
+		printf("warning: no kernel available\n");
+		return -1;
+	}
+
+	data_addr = load_addr;
+	qemu_fwcfg_read_entry(FW_CFG_SETUP_DATA,
+			      le32_to_cpu(setup_size), data_addr);
+	data_addr += le32_to_cpu(setup_size);
+
+	qemu_fwcfg_read_entry(FW_CFG_KERNEL_DATA,
+			      le32_to_cpu(kernel_size), data_addr);
+	data_addr += le32_to_cpu(kernel_size);
+
+	data_addr = initrd_addr;
+	qemu_fwcfg_read_entry(FW_CFG_INITRD_SIZE, 4, &initrd_size);
+	if (initrd_size == 0) {
+		printf("warning: no initrd available\n");
+	} else {
+		qemu_fwcfg_read_entry(FW_CFG_INITRD_DATA,
+				      le32_to_cpu(initrd_size), data_addr);
+		data_addr += le32_to_cpu(initrd_size);
+	}
+
+	qemu_fwcfg_read_entry(FW_CFG_CMDLINE_SIZE, 4, &cmdline_size);
+	if (cmdline_size) {
+		qemu_fwcfg_read_entry(FW_CFG_CMDLINE_DATA,
+				      le32_to_cpu(cmdline_size), data_addr);
+		/*
+		 * if kernel cmdline only contains '\0', (e.g. no -append
+		 * when invoking qemu), do not update bootargs
+		 */
+		if (*data_addr != '\0') {
+			if (setenv("bootargs", data_addr) < 0)
+				printf("warning: unable to change bootargs\n");
+		}
+	}
+
+	printf("loading kernel to address %p size %x", load_addr,
+	       le32_to_cpu(kernel_size));
+	if (initrd_size)
+		printf(" initrd %p size %x\n",
+		       initrd_addr,
+		       le32_to_cpu(initrd_size));
+	else
+		printf("\n");
+
+	return 0;
+}
+
+static int qemu_fwcfg_list_firmware(void)
+{
+	int ret;
+	struct fw_cfg_file_iter iter;
+	struct fw_file *file;
+
+	/* make sure fw_list is loaded */
+	ret = qemu_fwcfg_read_firmware_list();
+	if (ret)
+		return ret;
+
+
+	for (file = qemu_fwcfg_file_iter_init(&iter);
+	     !qemu_fwcfg_file_iter_end(&iter);
+	     file = qemu_fwcfg_file_iter_next(&iter)) {
+		printf("%-56s\n", file->cfg.name);
+	}
+
+	return 0;
+}
+
+static int qemu_fwcfg_do_list(cmd_tbl_t *cmdtp, int flag,
+		int argc, char * const argv[])
+{
+	if (qemu_fwcfg_list_firmware() < 0)
+		return CMD_RET_FAILURE;
+
+	return 0;
+}
+
+static int qemu_fwcfg_do_cpus(cmd_tbl_t *cmdtp, int flag,
+		int argc, char * const argv[])
+{
+	int ret = qemu_fwcfg_online_cpus();
+	if (ret < 0) {
+		printf("QEMU fw_cfg interface not found\n");
+		return CMD_RET_FAILURE;
+	}
+
+	printf("%d cpu(s) online\n", qemu_fwcfg_online_cpus());
+
+	return 0;
+}
+
+static int qemu_fwcfg_do_load(cmd_tbl_t *cmdtp, int flag,
+		int argc, char * const argv[])
+{
+	char *env;
+	void *load_addr;
+	void *initrd_addr;
+
+	env = getenv("loadaddr");
+	load_addr = env ?
+		(void *)simple_strtoul(env, NULL, 16) :
+#ifdef CONFIG_LOADADDR
+		(void *)CONFIG_LOADADDR;
+#else
+		NULL;
+#endif
+
+	env = getenv("ramdiskaddr");
+	initrd_addr = env ?
+		(void *)simple_strtoul(env, NULL, 16) :
+#ifdef CONFIG_RAMDISK_ADDR
+		(void *)CONFIG_RAMDISK_ADDR;
+#else
+		NULL;
+#endif
+
+	if (argc == 2) {
+		load_addr = (void *)simple_strtoul(argv[0], NULL, 16);
+		initrd_addr = (void *)simple_strtoul(argv[1], NULL, 16);
+	} else if (argc == 1) {
+		load_addr = (void *)simple_strtoul(argv[0], NULL, 16);
+	}
+
+	if (!load_addr || !initrd_addr) {
+		printf("missing load or initrd address\n");
+		return CMD_RET_FAILURE;
+	}
+
+	return qemu_fwcfg_setup_kernel(load_addr, initrd_addr);
+}
+
+static cmd_tbl_t fwcfg_commands[] = {
+	U_BOOT_CMD_MKENT(list, 0, 1, qemu_fwcfg_do_list, "", ""),
+	U_BOOT_CMD_MKENT(cpus, 0, 1, qemu_fwcfg_do_cpus, "", ""),
+	U_BOOT_CMD_MKENT(load, 2, 1, qemu_fwcfg_do_load, "", ""),
+};
+
+static int do_qemu_fw(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+	int ret;
+	cmd_tbl_t *fwcfg_cmd;
+
+	if (!qemu_fwcfg_present()) {
+		printf("QEMU fw_cfg interface not found\n");
+		return CMD_RET_USAGE;
+	}
+
+	fwcfg_cmd = find_cmd_tbl(argv[1], fwcfg_commands,
+				 ARRAY_SIZE(fwcfg_commands));
+	argc -= 2;
+	argv += 2;
+	if (!fwcfg_cmd || argc > fwcfg_cmd->maxargs)
+		return CMD_RET_USAGE;
+
+	ret = fwcfg_cmd->cmd(fwcfg_cmd, flag, argc, argv);
+
+	return cmd_process_error(fwcfg_cmd, ret);
+}
+
+U_BOOT_CMD(
+	qfw,	4,	1,	do_qemu_fw,
+	"QEMU firmware interface",
+	"<command>\n"
+	"    - list                             : print firmware(s) currently loaded\n"
+	"    - cpus                             : print online cpu number\n"
+	"    - load <kernel addr> <initrd addr> : load kernel and initrd (if any), and setup for zboot\n"
+)
diff --git a/cmd/sata.c b/cmd/sata.c
index 8748cce..d18b523 100644
--- a/cmd/sata.c
+++ b/cmd/sata.c
@@ -16,70 +16,6 @@
 #include <sata.h>
 
 static int sata_curr_device = -1;
-struct blk_desc sata_dev_desc[CONFIG_SYS_SATA_MAX_DEVICE];
-
-static unsigned long sata_bread(struct blk_desc *block_dev, lbaint_t start,
-				lbaint_t blkcnt, void *dst)
-{
-	return sata_read(block_dev->devnum, start, blkcnt, dst);
-}
-
-static unsigned long sata_bwrite(struct blk_desc *block_dev, lbaint_t start,
-				 lbaint_t blkcnt, const void *buffer)
-{
-	return sata_write(block_dev->devnum, start, blkcnt, buffer);
-}
-
-int __sata_initialize(void)
-{
-	int rc;
-	int i;
-
-	for (i = 0; i < CONFIG_SYS_SATA_MAX_DEVICE; i++) {
-		memset(&sata_dev_desc[i], 0, sizeof(struct blk_desc));
-		sata_dev_desc[i].if_type = IF_TYPE_SATA;
-		sata_dev_desc[i].devnum = i;
-		sata_dev_desc[i].part_type = PART_TYPE_UNKNOWN;
-		sata_dev_desc[i].type = DEV_TYPE_HARDDISK;
-		sata_dev_desc[i].lba = 0;
-		sata_dev_desc[i].blksz = 512;
-		sata_dev_desc[i].log2blksz = LOG2(sata_dev_desc[i].blksz);
-		sata_dev_desc[i].block_read = sata_bread;
-		sata_dev_desc[i].block_write = sata_bwrite;
-
-		rc = init_sata(i);
-		if (!rc) {
-			rc = scan_sata(i);
-			if (!rc && (sata_dev_desc[i].lba > 0) &&
-				(sata_dev_desc[i].blksz > 0))
-				part_init(&sata_dev_desc[i]);
-		}
-	}
-	sata_curr_device = 0;
-	return rc;
-}
-int sata_initialize(void) __attribute__((weak,alias("__sata_initialize")));
-
-__weak int __sata_stop(void)
-{
-	int i, err = 0;
-
-	for (i = 0; i < CONFIG_SYS_SATA_MAX_DEVICE; i++)
-		err |= reset_sata(i);
-
-	if (err)
-		printf("Could not reset some SATA devices\n");
-
-	return err;
-}
-int sata_stop(void) __attribute__((weak, alias("__sata_stop")));
-
-#ifdef CONFIG_PARTITIONS
-struct blk_desc *sata_get_dev(int dev)
-{
-	return (dev < CONFIG_SYS_SATA_MAX_DEVICE) ? &sata_dev_desc[dev] : NULL;
-}
-#endif
 
 static int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
@@ -105,69 +41,40 @@
 	case 1:
 		return CMD_RET_USAGE;
 	case 2:
-		if (strncmp(argv[1],"inf", 3) == 0) {
-			int i;
-			putc('\n');
-			for (i = 0; i < CONFIG_SYS_SATA_MAX_DEVICE; ++i) {
-				if (sata_dev_desc[i].type == DEV_TYPE_UNKNOWN)
-					continue;
-				printf ("SATA device %d: ", i);
-				dev_print(&sata_dev_desc[i]);
+		if (strncmp(argv[1], "inf", 3) == 0) {
+			blk_list_devices(IF_TYPE_SATA);
+			return 0;
+		} else if (strncmp(argv[1], "dev", 3) == 0) {
+			if (blk_print_device_num(IF_TYPE_SATA,
+						 sata_curr_device)) {
+				printf("\nno SATA devices available\n");
+				return CMD_RET_FAILURE;
 			}
 			return 0;
-		} else if (strncmp(argv[1],"dev", 3) == 0) {
-			if ((sata_curr_device < 0) || (sata_curr_device >= CONFIG_SYS_SATA_MAX_DEVICE)) {
+		} else if (strncmp(argv[1], "part", 4) == 0) {
+			if (blk_list_part(IF_TYPE_SATA))
 				puts("\nno SATA devices available\n");
-				return 1;
-			}
-			printf("\nSATA device %d: ", sata_curr_device);
-			dev_print(&sata_dev_desc[sata_curr_device]);
 			return 0;
-		} else if (strncmp(argv[1],"part",4) == 0) {
-			int dev, ok;
-
-			for (ok = 0, dev = 0; dev < CONFIG_SYS_SATA_MAX_DEVICE; ++dev) {
-				if (sata_dev_desc[dev].part_type != PART_TYPE_UNKNOWN) {
-					++ok;
-					if (dev)
-						putc ('\n');
-					part_print(&sata_dev_desc[dev]);
-				}
-			}
-			if (!ok) {
-				puts("\nno SATA devices available\n");
-				rc ++;
-			}
-			return rc;
 		}
 		return CMD_RET_USAGE;
 	case 3:
 		if (strncmp(argv[1], "dev", 3) == 0) {
 			int dev = (int)simple_strtoul(argv[2], NULL, 10);
 
-			printf("\nSATA device %d: ", dev);
-			if (dev >= CONFIG_SYS_SATA_MAX_DEVICE) {
-				puts ("unknown device\n");
-				return 1;
+			if (!blk_show_device(IF_TYPE_SATA, dev)) {
+				sata_curr_device = dev;
+				printf("... is now current device\n");
+			} else {
+				return CMD_RET_FAILURE;
 			}
-			dev_print(&sata_dev_desc[dev]);
-
-			if (sata_dev_desc[dev].type == DEV_TYPE_UNKNOWN)
-				return 1;
-
-			sata_curr_device = dev;
-
-			puts("... is now current device\n");
-
 			return 0;
 		} else if (strncmp(argv[1], "part", 4) == 0) {
 			int dev = (int)simple_strtoul(argv[2], NULL, 10);
 
-			if (sata_dev_desc[dev].part_type != PART_TYPE_UNKNOWN) {
-				part_print(&sata_dev_desc[dev]);
-			} else {
-				printf("\nSATA device %d not available\n", dev);
-				rc = 1;
+			if (blk_print_part_devnum(IF_TYPE_SATA, dev)) {
+				printf("\nSATA device %d not available\n",
+				       dev);
+				return CMD_RET_FAILURE;
 			}
 			return rc;
 		}
@@ -183,11 +90,8 @@
 			printf("\nSATA read: device %d block # %ld, count %ld ... ",
 				sata_curr_device, blk, cnt);
 
-			n = blk_dread(&sata_dev_desc[sata_curr_device],
-				      blk, cnt, (u32 *)addr);
-
-			/* flush cache after read */
-			flush_cache(addr, cnt * sata_dev_desc[sata_curr_device].blksz);
+			n = blk_read_devnum(IF_TYPE_SATA, sata_curr_device, blk,
+					    cnt, (ulong *)addr);
 
 			printf("%ld blocks read: %s\n",
 				n, (n==cnt) ? "OK" : "ERROR");
@@ -202,8 +106,8 @@
 			printf("\nSATA write: device %d block # %ld, count %ld ... ",
 				sata_curr_device, blk, cnt);
 
-			n = blk_dwrite(&sata_dev_desc[sata_curr_device],
-				       blk, cnt, (u32 *)addr);
+			n = blk_write_devnum(IF_TYPE_SATA, sata_curr_device,
+					     blk, cnt, (ulong *)addr);
 
 			printf("%ld blocks written: %s\n",
 				n, (n == cnt) ? "OK" : "ERROR");
diff --git a/cmd/scsi.c b/cmd/scsi.c
index 8991125..387ca1a 100644
--- a/cmd/scsi.c
+++ b/cmd/scsi.c
@@ -10,361 +10,108 @@
  */
 #include <common.h>
 #include <command.h>
-#include <inttypes.h>
-#include <asm/processor.h>
 #include <scsi.h>
-#include <image.h>
-#include <pci.h>
-
-#ifdef CONFIG_SCSI_DEV_LIST
-#define SCSI_DEV_LIST CONFIG_SCSI_DEV_LIST
-#else
-#ifdef CONFIG_SCSI_SYM53C8XX
-#define SCSI_VEND_ID	0x1000
-#ifndef CONFIG_SCSI_DEV_ID
-#define SCSI_DEV_ID		0x0001
-#else
-#define SCSI_DEV_ID		CONFIG_SCSI_DEV_ID
-#endif
-#elif defined CONFIG_SATA_ULI5288
-
-#define SCSI_VEND_ID 0x10b9
-#define SCSI_DEV_ID  0x5288
-
-#elif !defined(CONFIG_SCSI_AHCI_PLAT)
-#error no scsi device defined
-#endif
-#define SCSI_DEV_LIST {SCSI_VEND_ID, SCSI_DEV_ID}
-#endif
-
-#if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT)
-const struct pci_device_id scsi_device_list[] = { SCSI_DEV_LIST };
-#endif
-static ccb tempccb;	/* temporary scsi command buffer */
-
-static unsigned char tempbuff[512]; /* temporary data buffer */
-
-static int scsi_max_devs; /* number of highest available scsi device */
 
 static int scsi_curr_dev; /* current device */
 
-static struct blk_desc scsi_dev_desc[CONFIG_SYS_SCSI_MAX_DEVICE];
-
-/********************************************************************************
- *  forward declerations of some Setup Routines
- */
-void scsi_setup_test_unit_ready(ccb * pccb);
-void scsi_setup_read6(ccb * pccb, lbaint_t start, unsigned short blocks);
-void scsi_setup_read_ext(ccb * pccb, lbaint_t start, unsigned short blocks);
-void scsi_setup_read16(ccb * pccb, lbaint_t start, unsigned long blocks);
-
-static void scsi_setup_write_ext(ccb *pccb, lbaint_t start,
-				unsigned short blocks);
-void scsi_setup_inquiry(ccb * pccb);
-void scsi_ident_cpy (unsigned char *dest, unsigned char *src, unsigned int len);
-
-
-static int scsi_read_capacity(ccb *pccb, lbaint_t *capacity,
-			      unsigned long *blksz);
-static ulong scsi_read(struct blk_desc *block_dev, lbaint_t blknr,
-		       lbaint_t blkcnt, void *buffer);
-static ulong scsi_write(struct blk_desc *block_dev, lbaint_t blknr,
-			lbaint_t blkcnt, const void *buffer);
-
-
-/*********************************************************************************
- * (re)-scan the scsi bus and reports scsi device info
- * to the user if mode = 1
- */
-void scsi_scan(int mode)
-{
-	unsigned char i,perq,modi,lun;
-	lbaint_t capacity;
-	unsigned long blksz;
-	ccb* pccb=(ccb *)&tempccb;
-
-	if(mode==1) {
-		printf("scanning bus for devices...\n");
-	}
-	for(i=0;i<CONFIG_SYS_SCSI_MAX_DEVICE;i++) {
-		scsi_dev_desc[i].target=0xff;
-		scsi_dev_desc[i].lun=0xff;
-		scsi_dev_desc[i].lba=0;
-		scsi_dev_desc[i].blksz=0;
-		scsi_dev_desc[i].log2blksz =
-			LOG2_INVALID(typeof(scsi_dev_desc[i].log2blksz));
-		scsi_dev_desc[i].type=DEV_TYPE_UNKNOWN;
-		scsi_dev_desc[i].vendor[0]=0;
-		scsi_dev_desc[i].product[0]=0;
-		scsi_dev_desc[i].revision[0]=0;
-		scsi_dev_desc[i].removable = false;
-		scsi_dev_desc[i].if_type=IF_TYPE_SCSI;
-		scsi_dev_desc[i].devnum = i;
-		scsi_dev_desc[i].part_type=PART_TYPE_UNKNOWN;
-		scsi_dev_desc[i].block_read=scsi_read;
-		scsi_dev_desc[i].block_write = scsi_write;
-	}
-	scsi_max_devs=0;
-	for(i=0;i<CONFIG_SYS_SCSI_MAX_SCSI_ID;i++) {
-		pccb->target=i;
-		for(lun=0;lun<CONFIG_SYS_SCSI_MAX_LUN;lun++) {
-			pccb->lun=lun;
-			pccb->pdata=(unsigned char *)&tempbuff;
-			pccb->datalen=512;
-			scsi_setup_inquiry(pccb);
-			if (scsi_exec(pccb) != true) {
-				if(pccb->contr_stat==SCSI_SEL_TIME_OUT) {
-					debug ("Selection timeout ID %d\n",pccb->target);
-					continue; /* selection timeout => assuming no device present */
-				}
-				scsi_print_error(pccb);
-				continue;
-			}
-			perq=tempbuff[0];
-			modi=tempbuff[1];
-			if((perq & 0x1f)==0x1f) {
-				continue; /* skip unknown devices */
-			}
-			if((modi&0x80)==0x80) /* drive is removable */
-				scsi_dev_desc[scsi_max_devs].removable=true;
-			/* get info for this device */
-			scsi_ident_cpy((unsigned char *)&scsi_dev_desc[scsi_max_devs].vendor[0],
-				       &tempbuff[8], 8);
-			scsi_ident_cpy((unsigned char *)&scsi_dev_desc[scsi_max_devs].product[0],
-				       &tempbuff[16], 16);
-			scsi_ident_cpy((unsigned char *)&scsi_dev_desc[scsi_max_devs].revision[0],
-				       &tempbuff[32], 4);
-			scsi_dev_desc[scsi_max_devs].target=pccb->target;
-			scsi_dev_desc[scsi_max_devs].lun=pccb->lun;
-
-			pccb->datalen=0;
-			scsi_setup_test_unit_ready(pccb);
-			if (scsi_exec(pccb) != true) {
-				if (scsi_dev_desc[scsi_max_devs].removable == true) {
-					scsi_dev_desc[scsi_max_devs].type=perq;
-					goto removable;
-				}
-				scsi_print_error(pccb);
-				continue;
-			}
-			if (scsi_read_capacity(pccb, &capacity, &blksz)) {
-				scsi_print_error(pccb);
-				continue;
-			}
-			scsi_dev_desc[scsi_max_devs].lba=capacity;
-			scsi_dev_desc[scsi_max_devs].blksz=blksz;
-			scsi_dev_desc[scsi_max_devs].log2blksz =
-				LOG2(scsi_dev_desc[scsi_max_devs].blksz);
-			scsi_dev_desc[scsi_max_devs].type=perq;
-			part_init(&scsi_dev_desc[scsi_max_devs]);
-removable:
-			if(mode==1) {
-				printf ("  Device %d: ", scsi_max_devs);
-				dev_print(&scsi_dev_desc[scsi_max_devs]);
-			} /* if mode */
-			scsi_max_devs++;
-		} /* next LUN */
-	}
-	if(scsi_max_devs>0)
-		scsi_curr_dev=0;
-	else
-		scsi_curr_dev = -1;
-
-	printf("Found %d device(s).\n", scsi_max_devs);
-#ifndef CONFIG_SPL_BUILD
-	setenv_ulong("scsidevs", scsi_max_devs);
-#endif
-}
-
-int scsi_get_disk_count(void)
-{
-	return scsi_max_devs;
-}
-
-#if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT)
-void scsi_init(void)
-{
-	int busdevfunc = -1;
-	int i;
-	/*
-	 * Find a device from the list, this driver will support a single
-	 * controller.
-	 */
-	for (i = 0; i < ARRAY_SIZE(scsi_device_list); i++) {
-		/* get PCI Device ID */
-#ifdef CONFIG_DM_PCI
-		struct udevice *dev;
-		int ret;
-
-		ret = dm_pci_find_device(scsi_device_list[i].vendor,
-					 scsi_device_list[i].device, 0, &dev);
-		if (!ret) {
-			busdevfunc = dm_pci_get_bdf(dev);
-			break;
-		}
-#else
-		busdevfunc = pci_find_device(scsi_device_list[i].vendor,
-					     scsi_device_list[i].device,
-					     0);
-#endif
-		if (busdevfunc != -1)
-			break;
-	}
-
-	if (busdevfunc == -1) {
-		printf("Error: SCSI Controller(s) ");
-		for (i = 0; i < ARRAY_SIZE(scsi_device_list); i++) {
-			printf("%04X:%04X ",
-			       scsi_device_list[i].vendor,
-			       scsi_device_list[i].device);
-		}
-		printf("not found\n");
-		return;
-	}
-#ifdef DEBUG
-	else {
-		printf("SCSI Controller (%04X,%04X) found (%d:%d:%d)\n",
-		       scsi_device_list[i].vendor,
-		       scsi_device_list[i].device,
-		       (busdevfunc >> 16) & 0xFF,
-		       (busdevfunc >> 11) & 0x1F,
-		       (busdevfunc >> 8) & 0x7);
-	}
-#endif
-	bootstage_start(BOOTSTAGE_ID_ACCUM_SCSI, "ahci");
-	scsi_low_level_init(busdevfunc);
-	scsi_scan(1);
-	bootstage_accum(BOOTSTAGE_ID_ACCUM_SCSI);
-}
-#endif
-
-#ifdef CONFIG_PARTITIONS
-struct blk_desc *scsi_get_dev(int dev)
-{
-	return (dev < CONFIG_SYS_SCSI_MAX_DEVICE) ? &scsi_dev_desc[dev] : NULL;
-}
-#endif
-
-#ifndef CONFIG_SPL_BUILD
-/******************************************************************************
+/*
  * scsi boot command intepreter. Derived from diskboot
  */
-int do_scsiboot (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+int do_scsiboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 {
 	return common_diskboot(cmdtp, "scsi", argc, argv);
 }
 
-/*********************************************************************************
+/*
  * scsi command intepreter
  */
-int do_scsi (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 {
 	switch (argc) {
 	case 0:
 	case 1:
 		return CMD_RET_USAGE;
-
 	case 2:
-			if (strncmp(argv[1],"res",3) == 0) {
-				printf("\nReset SCSI\n");
-				scsi_bus_reset();
-				scsi_scan(1);
-				return 0;
+		if (strncmp(argv[1], "res", 3) == 0) {
+			printf("\nReset SCSI\n");
+			scsi_bus_reset();
+			scsi_scan(1);
+			return 0;
+		}
+		if (strncmp(argv[1], "inf", 3) == 0) {
+			blk_list_devices(IF_TYPE_SCSI);
+			return 0;
+		}
+		if (strncmp(argv[1], "dev", 3) == 0) {
+			if (blk_print_device_num(IF_TYPE_SCSI, scsi_curr_dev)) {
+				printf("\nno SCSI devices available\n");
+				return CMD_RET_FAILURE;
 			}
-			if (strncmp(argv[1],"inf",3) == 0) {
-				int i;
-				for (i=0; i<CONFIG_SYS_SCSI_MAX_DEVICE; ++i) {
-					if(scsi_dev_desc[i].type==DEV_TYPE_UNKNOWN)
-						continue; /* list only known devices */
-					printf ("SCSI dev. %d:  ", i);
-					dev_print(&scsi_dev_desc[i]);
-				}
-				return 0;
-			}
-			if (strncmp(argv[1],"dev",3) == 0) {
-				if ((scsi_curr_dev < 0) || (scsi_curr_dev >= CONFIG_SYS_SCSI_MAX_DEVICE)) {
-					printf("\nno SCSI devices available\n");
-					return 1;
-				}
-				printf ("\n    Device %d: ", scsi_curr_dev);
-				dev_print(&scsi_dev_desc[scsi_curr_dev]);
-				return 0;
-			}
-			if (strncmp(argv[1],"scan",4) == 0) {
-				scsi_scan(1);
-				return 0;
-			}
-			if (strncmp(argv[1],"part",4) == 0) {
-				int dev, ok;
-				for (ok=0, dev=0; dev<CONFIG_SYS_SCSI_MAX_DEVICE; ++dev) {
-					if (scsi_dev_desc[dev].type!=DEV_TYPE_UNKNOWN) {
-						ok++;
-						if (dev)
-							printf("\n");
-						debug ("print_part of %x\n",dev);
-						part_print(&scsi_dev_desc[dev]);
-					}
-				}
-				if (!ok)
-					printf("\nno SCSI devices available\n");
-				return 1;
-			}
-			return CMD_RET_USAGE;
+
+			return 0;
+		}
+		if (strncmp(argv[1], "scan", 4) == 0) {
+			scsi_scan(1);
+			return 0;
+		}
+		if (strncmp(argv[1], "part", 4) == 0) {
+			if (blk_list_part(IF_TYPE_SCSI))
+				printf("\nno SCSI devices available\n");
+			return 0;
+		}
+		return CMD_RET_USAGE;
 	case 3:
-			if (strncmp(argv[1],"dev",3) == 0) {
-				int dev = (int)simple_strtoul(argv[2], NULL, 10);
-				printf ("\nSCSI device %d: ", dev);
-				if (dev >= CONFIG_SYS_SCSI_MAX_DEVICE) {
-					printf("unknown device\n");
-					return 1;
-				}
-				printf ("\n    Device %d: ", dev);
-				dev_print(&scsi_dev_desc[dev]);
-				if(scsi_dev_desc[dev].type == DEV_TYPE_UNKNOWN) {
-					return 1;
-				}
+		if (strncmp(argv[1], "dev", 3) == 0) {
+			int dev = (int)simple_strtoul(argv[2], NULL, 10);
+
+			if (!blk_show_device(IF_TYPE_SCSI, dev)) {
 				scsi_curr_dev = dev;
 				printf("... is now current device\n");
-				return 0;
+			} else {
+				return CMD_RET_FAILURE;
 			}
-			if (strncmp(argv[1],"part",4) == 0) {
-				int dev = (int)simple_strtoul(argv[2], NULL, 10);
-				if(scsi_dev_desc[dev].type != DEV_TYPE_UNKNOWN) {
-					part_print(&scsi_dev_desc[dev]);
-				}
-				else {
-					printf ("\nSCSI device %d not available\n", dev);
-				}
-				return 1;
+			return 0;
+		}
+		if (strncmp(argv[1], "part", 4) == 0) {
+			int dev = (int)simple_strtoul(argv[2], NULL, 10);
+
+			if (blk_print_part_devnum(IF_TYPE_SCSI, dev)) {
+				printf("\nSCSI device %d not available\n",
+				       dev);
+				return CMD_RET_FAILURE;
 			}
-			return CMD_RET_USAGE;
-    default:
-			/* at least 4 args */
-			if (strcmp(argv[1],"read") == 0) {
-				ulong addr = simple_strtoul(argv[2], NULL, 16);
-				ulong blk  = simple_strtoul(argv[3], NULL, 16);
-				ulong cnt  = simple_strtoul(argv[4], NULL, 16);
-				ulong n;
-				printf ("\nSCSI read: device %d block # %ld, count %ld ... ",
-						scsi_curr_dev, blk, cnt);
-				n = scsi_read(&scsi_dev_desc[scsi_curr_dev],
-					      blk, cnt, (ulong *)addr);
-				printf ("%ld blocks read: %s\n",n,(n==cnt) ? "OK" : "ERROR");
-				return 0;
-			} else if (strcmp(argv[1], "write") == 0) {
-				ulong addr = simple_strtoul(argv[2], NULL, 16);
-				ulong blk = simple_strtoul(argv[3], NULL, 16);
-				ulong cnt = simple_strtoul(argv[4], NULL, 16);
-				ulong n;
-				printf("\nSCSI write: device %d block # %ld, "
-				       "count %ld ... ",
-				       scsi_curr_dev, blk, cnt);
-				n = scsi_write(&scsi_dev_desc[scsi_curr_dev],
-					       blk, cnt, (ulong *)addr);
-				printf("%ld blocks written: %s\n", n,
-				       (n == cnt) ? "OK" : "ERROR");
-				return 0;
-			}
+			return 0;
+		}
+		return CMD_RET_USAGE;
+	default:
+		/* at least 4 args */
+		if (strcmp(argv[1], "read") == 0) {
+			ulong addr = simple_strtoul(argv[2], NULL, 16);
+			ulong blk  = simple_strtoul(argv[3], NULL, 16);
+			ulong cnt  = simple_strtoul(argv[4], NULL, 16);
+			ulong n;
+
+			printf("\nSCSI read: device %d block # %ld, count %ld ... ",
+			       scsi_curr_dev, blk, cnt);
+			n = blk_read_devnum(IF_TYPE_SCSI, scsi_curr_dev, blk,
+					    cnt, (ulong *)addr);
+			printf("%ld blocks read: %s\n", n,
+			       n == cnt ? "OK" : "ERROR");
+			return 0;
+		} else if (strcmp(argv[1], "write") == 0) {
+			ulong addr = simple_strtoul(argv[2], NULL, 16);
+			ulong blk = simple_strtoul(argv[3], NULL, 16);
+			ulong cnt = simple_strtoul(argv[4], NULL, 16);
+			ulong n;
+
+			printf("\nSCSI write: device %d block # %ld, count %ld ... ",
+			       scsi_curr_dev, blk, cnt);
+			n = blk_write_devnum(IF_TYPE_SCSI, scsi_curr_dev, blk,
+					     cnt, (ulong *)addr);
+			printf("%ld blocks written: %s\n", n,
+			       n == cnt ? "OK" : "ERROR");
+			return 0;
+		}
 	} /* switch */
 	return CMD_RET_USAGE;
 }
@@ -388,347 +135,3 @@
 	"boot from SCSI device",
 	"loadAddr dev:part"
 );
-#endif
-
-/****************************************************************************************
- * scsi_read
- */
-
-/* almost the maximum amount of the scsi_ext command.. */
-#define SCSI_MAX_READ_BLK 0xFFFF
-#define SCSI_LBA48_READ	0xFFFFFFF
-
-static ulong scsi_read(struct blk_desc *block_dev, lbaint_t blknr,
-		       lbaint_t blkcnt, void *buffer)
-{
-	int device = block_dev->devnum;
-	lbaint_t start, blks;
-	uintptr_t buf_addr;
-	unsigned short smallblks = 0;
-	ccb* pccb=(ccb *)&tempccb;
-	device&=0xff;
-	/* Setup  device
-	 */
-	pccb->target=scsi_dev_desc[device].target;
-	pccb->lun=scsi_dev_desc[device].lun;
-	buf_addr=(unsigned long)buffer;
-	start=blknr;
-	blks=blkcnt;
-	debug("\nscsi_read: dev %d startblk " LBAF
-	      ", blccnt " LBAF " buffer %lx\n",
-	      device, start, blks, (unsigned long)buffer);
-	do {
-		pccb->pdata=(unsigned char *)buf_addr;
-#ifdef CONFIG_SYS_64BIT_LBA
-		if (start > SCSI_LBA48_READ) {
-			unsigned long blocks;
-			blocks = min_t(lbaint_t, blks, SCSI_MAX_READ_BLK);
-			pccb->datalen = scsi_dev_desc[device].blksz * blocks;
-			scsi_setup_read16(pccb, start, blocks);
-			start += blocks;
-			blks -= blocks;
-		} else
-#endif
-		if (blks > SCSI_MAX_READ_BLK) {
-			pccb->datalen=scsi_dev_desc[device].blksz * SCSI_MAX_READ_BLK;
-			smallblks=SCSI_MAX_READ_BLK;
-			scsi_setup_read_ext(pccb,start,smallblks);
-			start+=SCSI_MAX_READ_BLK;
-			blks-=SCSI_MAX_READ_BLK;
-		}
-		else {
-			pccb->datalen=scsi_dev_desc[device].blksz * blks;
-			smallblks=(unsigned short) blks;
-			scsi_setup_read_ext(pccb,start,smallblks);
-			start+=blks;
-			blks=0;
-		}
-		debug("scsi_read_ext: startblk " LBAF
-		      ", blccnt %x buffer %" PRIXPTR "\n",
-		      start, smallblks, buf_addr);
-		if (scsi_exec(pccb) != true) {
-			scsi_print_error(pccb);
-			blkcnt-=blks;
-			break;
-		}
-		buf_addr+=pccb->datalen;
-	} while(blks!=0);
-	debug("scsi_read_ext: end startblk " LBAF
-	      ", blccnt %x buffer %" PRIXPTR "\n", start, smallblks, buf_addr);
-	return(blkcnt);
-}
-
-/*******************************************************************************
- * scsi_write
- */
-
-/* Almost the maximum amount of the scsi_ext command.. */
-#define SCSI_MAX_WRITE_BLK 0xFFFF
-
-static ulong scsi_write(struct blk_desc *block_dev, lbaint_t blknr,
-			lbaint_t blkcnt, const void *buffer)
-{
-	int device = block_dev->devnum;
-	lbaint_t start, blks;
-	uintptr_t buf_addr;
-	unsigned short smallblks;
-	ccb* pccb = (ccb *)&tempccb;
-	device &= 0xff;
-	/* Setup  device
-	 */
-	pccb->target = scsi_dev_desc[device].target;
-	pccb->lun = scsi_dev_desc[device].lun;
-	buf_addr = (unsigned long)buffer;
-	start = blknr;
-	blks = blkcnt;
-	debug("\n%s: dev %d startblk " LBAF ", blccnt " LBAF " buffer %lx\n",
-	      __func__, device, start, blks, (unsigned long)buffer);
-	do {
-		pccb->pdata = (unsigned char *)buf_addr;
-		if (blks > SCSI_MAX_WRITE_BLK) {
-			pccb->datalen = (scsi_dev_desc[device].blksz *
-					 SCSI_MAX_WRITE_BLK);
-			smallblks = SCSI_MAX_WRITE_BLK;
-			scsi_setup_write_ext(pccb, start, smallblks);
-			start += SCSI_MAX_WRITE_BLK;
-			blks -= SCSI_MAX_WRITE_BLK;
-		} else {
-			pccb->datalen = scsi_dev_desc[device].blksz * blks;
-			smallblks = (unsigned short)blks;
-			scsi_setup_write_ext(pccb, start, smallblks);
-			start += blks;
-			blks = 0;
-		}
-		debug("%s: startblk " LBAF ", blccnt %x buffer %" PRIXPTR "\n",
-		      __func__, start, smallblks, buf_addr);
-		if (scsi_exec(pccb) != true) {
-			scsi_print_error(pccb);
-			blkcnt -= blks;
-			break;
-		}
-		buf_addr += pccb->datalen;
-	} while (blks != 0);
-	debug("%s: end startblk " LBAF ", blccnt %x buffer %" PRIXPTR "\n",
-	      __func__, start, smallblks, buf_addr);
-	return blkcnt;
-}
-
-/* copy src to dest, skipping leading and trailing blanks
- * and null terminate the string
- */
-void scsi_ident_cpy (unsigned char *dest, unsigned char *src, unsigned int len)
-{
-	int start,end;
-
-	start=0;
-	while(start<len) {
-		if(src[start]!=' ')
-			break;
-		start++;
-	}
-	end=len-1;
-	while(end>start) {
-		if(src[end]!=' ')
-			break;
-		end--;
-	}
-	for( ; start<=end; start++) {
-		*dest++=src[start];
-	}
-	*dest='\0';
-}
-
-
-/* Trim trailing blanks, and NUL-terminate string
- */
-void scsi_trim_trail (unsigned char *str, unsigned int len)
-{
-	unsigned char *p = str + len - 1;
-
-	while (len-- > 0) {
-		*p-- = '\0';
-		if (*p != ' ') {
-			return;
-		}
-	}
-}
-
-int scsi_read_capacity(ccb *pccb, lbaint_t *capacity, unsigned long *blksz)
-{
-	*capacity = 0;
-
-	memset(pccb->cmd, 0, sizeof(pccb->cmd));
-	pccb->cmd[0] = SCSI_RD_CAPAC10;
-	pccb->cmd[1] = pccb->lun << 5;
-	pccb->cmdlen = 10;
-	pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
-
-	pccb->datalen = 8;
-	if (scsi_exec(pccb) != true)
-		return 1;
-
-	*capacity = ((lbaint_t)pccb->pdata[0] << 24) |
-		    ((lbaint_t)pccb->pdata[1] << 16) |
-		    ((lbaint_t)pccb->pdata[2] << 8)  |
-		    ((lbaint_t)pccb->pdata[3]);
-
-	if (*capacity != 0xffffffff) {
-		/* Read capacity (10) was sufficient for this drive. */
-		*blksz = ((unsigned long)pccb->pdata[4] << 24) |
-			 ((unsigned long)pccb->pdata[5] << 16) |
-			 ((unsigned long)pccb->pdata[6] << 8)  |
-			 ((unsigned long)pccb->pdata[7]);
-		return 0;
-	}
-
-	/* Read capacity (10) was insufficient. Use read capacity (16). */
-
-	memset(pccb->cmd, 0, sizeof(pccb->cmd));
-	pccb->cmd[0] = SCSI_RD_CAPAC16;
-	pccb->cmd[1] = 0x10;
-	pccb->cmdlen = 16;
-	pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
-
-	pccb->datalen = 16;
-	if (scsi_exec(pccb) != true)
-		return 1;
-
-	*capacity = ((uint64_t)pccb->pdata[0] << 56) |
-		    ((uint64_t)pccb->pdata[1] << 48) |
-		    ((uint64_t)pccb->pdata[2] << 40) |
-		    ((uint64_t)pccb->pdata[3] << 32) |
-		    ((uint64_t)pccb->pdata[4] << 24) |
-		    ((uint64_t)pccb->pdata[5] << 16) |
-		    ((uint64_t)pccb->pdata[6] << 8)  |
-		    ((uint64_t)pccb->pdata[7]);
-
-	*blksz = ((uint64_t)pccb->pdata[8]  << 56) |
-		 ((uint64_t)pccb->pdata[9]  << 48) |
-		 ((uint64_t)pccb->pdata[10] << 40) |
-		 ((uint64_t)pccb->pdata[11] << 32) |
-		 ((uint64_t)pccb->pdata[12] << 24) |
-		 ((uint64_t)pccb->pdata[13] << 16) |
-		 ((uint64_t)pccb->pdata[14] << 8)  |
-		 ((uint64_t)pccb->pdata[15]);
-
-	return 0;
-}
-
-
-/************************************************************************************
- * Some setup (fill-in) routines
- */
-void scsi_setup_test_unit_ready(ccb * pccb)
-{
-	pccb->cmd[0]=SCSI_TST_U_RDY;
-	pccb->cmd[1]=pccb->lun<<5;
-	pccb->cmd[2]=0;
-	pccb->cmd[3]=0;
-	pccb->cmd[4]=0;
-	pccb->cmd[5]=0;
-	pccb->cmdlen=6;
-	pccb->msgout[0]=SCSI_IDENTIFY; /* NOT USED */
-}
-
-#ifdef CONFIG_SYS_64BIT_LBA
-void scsi_setup_read16(ccb * pccb, lbaint_t start, unsigned long blocks)
-{
-	pccb->cmd[0] = SCSI_READ16;
-	pccb->cmd[1] = pccb->lun<<5;
-	pccb->cmd[2] = ((unsigned char) (start >> 56)) & 0xff;
-	pccb->cmd[3] = ((unsigned char) (start >> 48)) & 0xff;
-	pccb->cmd[4] = ((unsigned char) (start >> 40)) & 0xff;
-	pccb->cmd[5] = ((unsigned char) (start >> 32)) & 0xff;
-	pccb->cmd[6] = ((unsigned char) (start >> 24)) & 0xff;
-	pccb->cmd[7] = ((unsigned char) (start >> 16)) & 0xff;
-	pccb->cmd[8] = ((unsigned char) (start >> 8)) & 0xff;
-	pccb->cmd[9] = ((unsigned char) (start)) & 0xff;
-	pccb->cmd[10] = 0;
-	pccb->cmd[11] = ((unsigned char) (blocks >> 24)) & 0xff;
-	pccb->cmd[12] = ((unsigned char) (blocks >> 16)) & 0xff;
-	pccb->cmd[13] = ((unsigned char) (blocks >> 8)) & 0xff;
-	pccb->cmd[14] = (unsigned char) blocks & 0xff;
-	pccb->cmd[15] = 0;
-	pccb->cmdlen = 16;
-	pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
-	debug ("scsi_setup_read16: cmd: %02X %02X "
-	       "startblk %02X%02X%02X%02X%02X%02X%02X%02X "
-	       "blccnt %02X%02X%02X%02X\n",
-		pccb->cmd[0], pccb->cmd[1],
-		pccb->cmd[2], pccb->cmd[3], pccb->cmd[4], pccb->cmd[5],
-		pccb->cmd[6], pccb->cmd[7], pccb->cmd[8], pccb->cmd[9],
-		pccb->cmd[11], pccb->cmd[12], pccb->cmd[13], pccb->cmd[14]);
-}
-#endif
-
-void scsi_setup_read_ext(ccb * pccb, lbaint_t start, unsigned short blocks)
-{
-	pccb->cmd[0]=SCSI_READ10;
-	pccb->cmd[1]=pccb->lun<<5;
-	pccb->cmd[2]=((unsigned char) (start>>24))&0xff;
-	pccb->cmd[3]=((unsigned char) (start>>16))&0xff;
-	pccb->cmd[4]=((unsigned char) (start>>8))&0xff;
-	pccb->cmd[5]=((unsigned char) (start))&0xff;
-	pccb->cmd[6]=0;
-	pccb->cmd[7]=((unsigned char) (blocks>>8))&0xff;
-	pccb->cmd[8]=(unsigned char) blocks & 0xff;
-	pccb->cmd[6]=0;
-	pccb->cmdlen=10;
-	pccb->msgout[0]=SCSI_IDENTIFY; /* NOT USED */
-	debug ("scsi_setup_read_ext: cmd: %02X %02X startblk %02X%02X%02X%02X blccnt %02X%02X\n",
-		pccb->cmd[0],pccb->cmd[1],
-		pccb->cmd[2],pccb->cmd[3],pccb->cmd[4],pccb->cmd[5],
-		pccb->cmd[7],pccb->cmd[8]);
-}
-
-void scsi_setup_write_ext(ccb *pccb, lbaint_t start, unsigned short blocks)
-{
-	pccb->cmd[0] = SCSI_WRITE10;
-	pccb->cmd[1] = pccb->lun << 5;
-	pccb->cmd[2] = ((unsigned char) (start>>24)) & 0xff;
-	pccb->cmd[3] = ((unsigned char) (start>>16)) & 0xff;
-	pccb->cmd[4] = ((unsigned char) (start>>8)) & 0xff;
-	pccb->cmd[5] = ((unsigned char) (start)) & 0xff;
-	pccb->cmd[6] = 0;
-	pccb->cmd[7] = ((unsigned char) (blocks>>8)) & 0xff;
-	pccb->cmd[8] = (unsigned char)blocks & 0xff;
-	pccb->cmd[9] = 0;
-	pccb->cmdlen = 10;
-	pccb->msgout[0] = SCSI_IDENTIFY;  /* NOT USED */
-	debug("%s: cmd: %02X %02X startblk %02X%02X%02X%02X blccnt %02X%02X\n",
-	      __func__,
-	      pccb->cmd[0], pccb->cmd[1],
-	      pccb->cmd[2], pccb->cmd[3], pccb->cmd[4], pccb->cmd[5],
-	      pccb->cmd[7], pccb->cmd[8]);
-}
-
-void scsi_setup_read6(ccb * pccb, lbaint_t start, unsigned short blocks)
-{
-	pccb->cmd[0]=SCSI_READ6;
-	pccb->cmd[1]=pccb->lun<<5 | (((unsigned char)(start>>16))&0x1f);
-	pccb->cmd[2]=((unsigned char) (start>>8))&0xff;
-	pccb->cmd[3]=((unsigned char) (start))&0xff;
-	pccb->cmd[4]=(unsigned char) blocks & 0xff;
-	pccb->cmd[5]=0;
-	pccb->cmdlen=6;
-	pccb->msgout[0]=SCSI_IDENTIFY; /* NOT USED */
-	debug ("scsi_setup_read6: cmd: %02X %02X startblk %02X%02X blccnt %02X\n",
-		pccb->cmd[0],pccb->cmd[1],
-		pccb->cmd[2],pccb->cmd[3],pccb->cmd[4]);
-}
-
-
-void scsi_setup_inquiry(ccb * pccb)
-{
-	pccb->cmd[0]=SCSI_INQUIRY;
-	pccb->cmd[1]=pccb->lun<<5;
-	pccb->cmd[2]=0;
-	pccb->cmd[3]=0;
-	if(pccb->datalen>255)
-		pccb->cmd[4]=255;
-	else
-		pccb->cmd[4]=(unsigned char)pccb->datalen;
-	pccb->cmd[5]=0;
-	pccb->cmdlen=6;
-	pccb->msgout[0]=SCSI_IDENTIFY; /* NOT USED */
-}
diff --git a/cmd/usb.c b/cmd/usb.c
index f1a7deb..b83d323 100644
--- a/cmd/usb.c
+++ b/cmd/usb.c
@@ -723,7 +723,8 @@
 		int devno, ok = 0;
 		if (argc == 2) {
 			for (devno = 0; ; ++devno) {
-				stor_dev = usb_stor_get_dev(devno);
+				stor_dev = blk_get_devnum_by_type(IF_TYPE_USB,
+								  devno);
 				if (stor_dev == NULL)
 					break;
 				if (stor_dev->type != DEV_TYPE_UNKNOWN) {
@@ -736,7 +737,7 @@
 			}
 		} else {
 			devno = simple_strtoul(argv[2], NULL, 16);
-			stor_dev = usb_stor_get_dev(devno);
+			stor_dev = blk_get_devnum_by_type(IF_TYPE_USB, devno);
 			if (stor_dev != NULL &&
 			    stor_dev->type != DEV_TYPE_UNKNOWN) {
 				ok++;
@@ -762,7 +763,8 @@
 			unsigned long n;
 			printf("\nUSB read: device %d block # %ld, count %ld"
 				" ... ", usb_stor_curr_dev, blk, cnt);
-			stor_dev = usb_stor_get_dev(usb_stor_curr_dev);
+			stor_dev = blk_get_devnum_by_type(IF_TYPE_USB,
+							  usb_stor_curr_dev);
 			n = blk_dread(stor_dev, blk, cnt, (ulong *)addr);
 			printf("%ld blocks read: %s\n", n,
 				(n == cnt) ? "OK" : "ERROR");
@@ -783,7 +785,8 @@
 			unsigned long n;
 			printf("\nUSB write: device %d block # %ld, count %ld"
 				" ... ", usb_stor_curr_dev, blk, cnt);
-			stor_dev = usb_stor_get_dev(usb_stor_curr_dev);
+			stor_dev = blk_get_devnum_by_type(IF_TYPE_USB,
+							  usb_stor_curr_dev);
 			n = blk_dwrite(stor_dev, blk, cnt, (ulong *)addr);
 			printf("%ld blocks write: %s\n", n,
 				(n == cnt) ? "OK" : "ERROR");
@@ -796,7 +799,7 @@
 		if (argc == 3) {
 			int dev = (int)simple_strtoul(argv[2], NULL, 10);
 			printf("\nUSB device %d: ", dev);
-			stor_dev = usb_stor_get_dev(dev);
+			stor_dev = blk_get_devnum_by_type(IF_TYPE_USB, dev);
 			if (stor_dev == NULL) {
 				printf("unknown device\n");
 				return 1;
@@ -810,7 +813,8 @@
 			return 0;
 		} else {
 			printf("\nUSB device %d: ", usb_stor_curr_dev);
-			stor_dev = usb_stor_get_dev(usb_stor_curr_dev);
+			stor_dev = blk_get_devnum_by_type(IF_TYPE_USB,
+							  usb_stor_curr_dev);
 			dev_print(stor_dev);
 			if (stor_dev->type == DEV_TYPE_UNKNOWN)
 				return 1;
diff --git a/common/Makefile b/common/Makefile
index b23f312..0562d5c 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -84,6 +84,8 @@
 obj-$(CONFIG_LCD_DT_SIMPLEFB) += lcd_simplefb.o
 obj-$(CONFIG_LYNXKDI) += lynxkdi.o
 obj-$(CONFIG_MENU) += menu.o
+obj-$(CONFIG_CMD_SATA) += sata.o
+obj-$(CONFIG_SCSI) += scsi.o
 obj-$(CONFIG_UPDATE_TFTP) += update.o
 obj-$(CONFIG_DFU_TFTP) += update.o
 obj-$(CONFIG_USB_KEYBOARD) += usb_kbd.o
@@ -112,6 +114,9 @@
 obj-$(CONFIG_ENV_IS_IN_SPI_FLASH) += env_sf.o
 obj-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o
 endif
+ifdef CONFIG_SPL_SATA_SUPPORT
+obj-$(CONFIG_SCSI) += scsi.o
+endif
 endif
 #environment
 obj-y += env_common.o
@@ -130,6 +135,7 @@
 ifdef CONFIG_SYS_MALLOC_F_LEN
 obj-y += malloc_simple.o
 endif
+obj-$(CONFIG_CMD_IDE) += ide.o
 obj-y += image.o
 obj-$(CONFIG_ANDROID_BOOT_IMAGE) += image-android.o
 obj-$(CONFIG_$(SPL_)OF_LIBFDT) += image-fdt.o
@@ -150,6 +156,9 @@
 endif
 endif
 
+ifdef CONFIG_CMD_EEPROM_LAYOUT
+obj-y += eeprom/eeprom_field.o eeprom/eeprom_layout.o
+endif
 # We always have this since drivers/ddr/fs/interactive.c needs it
 obj-$(CONFIG_CMDLINE) += cli_simple.o
 
diff --git a/common/board_r.c b/common/board_r.c
index ad02549..d959ad3 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -620,7 +620,7 @@
 }
 #endif
 
-#if defined(CONFIG_CMD_SCSI)
+#if defined(CONFIG_SCSI)
 static int initr_scsi(void)
 {
 	puts("SCSI:  ");
@@ -923,7 +923,7 @@
 	initr_ambapp_print,
 #endif
 #endif
-#ifdef CONFIG_CMD_SCSI
+#ifdef CONFIG_SCSI
 	INIT_FUNC_WATCHDOG_RESET
 	initr_scsi,
 #endif
diff --git a/common/bootm.c b/common/bootm.c
index c965326..4941414 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -246,6 +246,16 @@
 #endif
 
 #if IMAGE_ENABLE_FIT
+#if defined(CONFIG_FPGA) && defined(CONFIG_FPGA_XILINX)
+	/* find bitstreams */
+	ret = boot_get_fpga(argc, argv, &images, IH_ARCH_DEFAULT,
+			    NULL, NULL);
+	if (ret) {
+		printf("FPGA image is corrupted or invalid\n");
+		return 1;
+	}
+#endif
+
 	/* find all of the loadables */
 	ret = boot_get_loadable(argc, argv, &images, IH_ARCH_DEFAULT,
 			       NULL, NULL);
diff --git a/common/dlmalloc.c b/common/dlmalloc.c
index b09f524..adc680e 100644
--- a/common/dlmalloc.c
+++ b/common/dlmalloc.c
@@ -1909,6 +1909,7 @@
   * fulfill the user's request.
   */
   if (m == NULL) {
+    size_t extra, extra2;
     /*
      * Use bytes not nb, since mALLOc internally calls request2size too, and
      * each call increases the size to allocate, to account for the header.
@@ -1917,9 +1918,27 @@
     /* Aligned -> return it */
     if ((((unsigned long)(m)) % alignment) == 0)
       return m;
-    /* Otherwise, fail */
+    /*
+     * Otherwise, try again, requesting enough extra space to be able to
+     * acquire alignment.
+     */
     fREe(m);
-    m = NULL;
+    /* Add in extra bytes to match misalignment of unexpanded allocation */
+    extra = alignment - (((unsigned long)(m)) % alignment);
+    m  = (char*)(mALLOc(bytes + extra));
+    /*
+     * m might not be the same as before. Validate that the previous value of
+     * extra still works for the current value of m.
+     * If (!m), extra2=alignment so 
+     */
+    if (m) {
+      extra2 = alignment - (((unsigned long)(m)) % alignment);
+      if (extra2 > extra) {
+        fREe(m);
+        m = NULL;
+      }
+    }
+    /* Fall through to original NULL check and chunk splitting logic */
   }
 
   if (m == NULL) return NULL; /* propagate failure */
diff --git a/common/eeprom/eeprom_field.c b/common/eeprom/eeprom_field.c
new file mode 100644
index 0000000..7f095a6
--- /dev/null
+++ b/common/eeprom/eeprom_field.c
@@ -0,0 +1,250 @@
+/*
+ * (C) Copyright 2009-2016 CompuLab, Ltd.
+ *
+ * Authors: Nikita Kiryanov <nikita@compulab.co.il>
+ *	    Igor Grinberg <grinberg@compulab.co.il>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <linux/string.h>
+#include <eeprom_field.h>
+
+static void __eeprom_field_print_bin(const struct eeprom_field *field,
+				     char *delimiter, bool reverse)
+{
+	int i;
+	int from = reverse ? field->size - 1 : 0;
+	int to = reverse ? 0 : field->size - 1;
+
+	printf(PRINT_FIELD_SEGMENT, field->name);
+	for (i = from; i != to; reverse ? i-- : i++)
+		printf("%02x%s", field->buf[i], delimiter);
+
+	printf("%02x\n", field->buf[i]);
+}
+
+static int __eeprom_field_update_bin(struct eeprom_field *field,
+				     const char *value, bool reverse)
+{
+	int len = strlen(value);
+	int k, j, i = reverse ? len - 1 : 0;
+	unsigned char byte;
+	char *endptr;
+
+	/* each two characters in the string fit in one byte */
+	if (len > field->size * 2)
+		return -1;
+
+	memset(field->buf, 0, field->size);
+
+	/* i - string iterator, j - buf iterator */
+	for (j = 0; j < field->size; j++) {
+		byte = 0;
+		char tmp[3] = { 0, 0, 0 };
+
+		if ((reverse && i < 0) || (!reverse && i >= len))
+			break;
+
+		for (k = 0; k < 2; k++) {
+			if (reverse && i == 0) {
+				tmp[k] = value[i];
+				break;
+			}
+
+			tmp[k] = value[reverse ? i - 1 + k : i + k];
+		}
+
+		byte = simple_strtoul(tmp, &endptr, 0);
+		if (*endptr != '\0' || byte < 0)
+			return -1;
+
+		field->buf[j] = byte;
+		i = reverse ? i - 2 : i + 2;
+	}
+
+	return 0;
+}
+
+static int __eeprom_field_update_bin_delim(struct eeprom_field *field,
+					   char *value, char *delimiter)
+{
+	int count = 0;
+	int i, val;
+	const char *tmp = value;
+	char *tok;
+	char *endptr;
+
+	tmp = strstr(tmp, delimiter);
+	while (tmp != NULL) {
+		count++;
+		tmp++;
+		tmp = strstr(tmp, delimiter);
+	}
+
+	if (count > field->size)
+		return -1;
+
+	tok = strtok(value, delimiter);
+	for (i = 0; tok && i < field->size; i++) {
+		val = simple_strtoul(tok, &endptr, 0);
+		if (*endptr != '\0')
+			return -1;
+
+		/* here we assume that each tok is no more than byte long */
+		field->buf[i] = (unsigned char)val;
+		tok = strtok(NULL, delimiter);
+	}
+
+	return 0;
+}
+
+/**
+ * eeprom_field_print_bin() - print a field which contains binary data
+ *
+ * Treat the field data as simple binary data, and print it as two digit
+ * hexadecimal values.
+ * Sample output:
+ *      Field Name       0102030405060708090a
+ *
+ * @field:	an initialized field to print
+ */
+void eeprom_field_print_bin(const struct eeprom_field *field)
+{
+	__eeprom_field_print_bin(field, "", false);
+}
+
+/**
+ * eeprom_field_update_bin() - Update field with new data in binary form
+ *
+ * @field:	an initialized field
+ * @value:	a string of values (i.e. "10b234a")
+ */
+int eeprom_field_update_bin(struct eeprom_field *field, char *value)
+{
+	return __eeprom_field_update_bin(field, value, false);
+}
+
+/**
+ * eeprom_field_update_reserved() - Update reserved field with new data in
+ *				    binary form
+ *
+ * @field:	an initialized field
+ * @value:	a space delimited string of byte values (i.e. "1 02 3 0x4")
+ */
+int eeprom_field_update_reserved(struct eeprom_field *field, char *value)
+{
+	return __eeprom_field_update_bin_delim(field, value, " ");
+}
+
+/**
+ * eeprom_field_print_bin_rev() - print a field which contains binary data in
+ *				  reverse order
+ *
+ * Treat the field data as simple binary data, and print it in reverse order
+ * as two digit hexadecimal values.
+ *
+ * Data in field:
+ *                      0102030405060708090a
+ * Sample output:
+ *      Field Name      0a090807060504030201
+ *
+ * @field:	an initialized field to print
+ */
+void eeprom_field_print_bin_rev(const struct eeprom_field *field)
+{
+	__eeprom_field_print_bin(field, "", true);
+}
+
+/**
+ * eeprom_field_update_bin_rev() - Update field with new data in binary form,
+ *				   storing it in reverse
+ *
+ * This function takes a string of byte values, and stores them
+ * in the field in the reverse order. i.e. if the input string was "1234",
+ * "3412" will be written to the field.
+ *
+ * @field:	an initialized field
+ * @value:	a string of byte values
+ */
+int eeprom_field_update_bin_rev(struct eeprom_field *field, char *value)
+{
+	return __eeprom_field_update_bin(field, value, true);
+}
+
+/**
+ * eeprom_field_print_mac_addr() - print a field which contains a mac address
+ *
+ * Treat the field data as simple binary data, and print it formatted as a MAC
+ * address.
+ * Sample output:
+ *      Field Name     01:02:03:04:05:06
+ *
+ * @field:	an initialized field to print
+ */
+void eeprom_field_print_mac(const struct eeprom_field *field)
+{
+	__eeprom_field_print_bin(field, ":", false);
+}
+
+/**
+ * eeprom_field_update_mac() - Update a mac address field which contains binary
+ *			       data
+ *
+ * @field:	an initialized field
+ * @value:	a colon delimited string of byte values (i.e. "1:02:3:ff")
+ */
+int eeprom_field_update_mac(struct eeprom_field *field, char *value)
+{
+	return __eeprom_field_update_bin_delim(field, value, ":");
+}
+
+/**
+ * eeprom_field_print_ascii() - print a field which contains ASCII data
+ * @field:	an initialized field to print
+ */
+void eeprom_field_print_ascii(const struct eeprom_field *field)
+{
+	char format[8];
+
+	sprintf(format, "%%.%ds\n", field->size);
+	printf(PRINT_FIELD_SEGMENT, field->name);
+	printf(format, field->buf);
+}
+
+/**
+ * eeprom_field_update_ascii() - Update field with new data in ASCII form
+ * @field:	an initialized field
+ * @value:	the new string data
+ *
+ * Returns 0 on success, -1 of failure (new string too long).
+ */
+int eeprom_field_update_ascii(struct eeprom_field *field, char *value)
+{
+	if (strlen(value) >= field->size) {
+		printf("%s: new data too long\n", field->name);
+		return -1;
+	}
+
+	strncpy((char *)field->buf, value, field->size - 1);
+	field->buf[field->size - 1] = '\0';
+
+	return 0;
+}
+
+/**
+ * eeprom_field_print_reserved() - print the "Reserved fields" field
+ *
+ * Print a notice that the following field_size bytes are reserved.
+ *
+ * Sample output:
+ *      Reserved fields              (64 bytes)
+ *
+ * @field:	an initialized field to print
+ */
+void eeprom_field_print_reserved(const struct eeprom_field *field)
+{
+	printf(PRINT_FIELD_SEGMENT, "Reserved fields\t");
+	printf("(%d bytes)\n", field->size);
+}
diff --git a/common/eeprom/eeprom_layout.c b/common/eeprom/eeprom_layout.c
new file mode 100644
index 0000000..c059233
--- /dev/null
+++ b/common/eeprom/eeprom_layout.c
@@ -0,0 +1,125 @@
+/*
+ * (C) Copyright 2009-2016 CompuLab, Ltd.
+ *
+ * Authors: Nikita Kiryanov <nikita@compulab.co.il>
+ *	    Igor Grinberg <grinberg@compulab.co.il>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <linux/kernel.h>
+#include <eeprom_layout.h>
+#include <eeprom_field.h>
+
+#define NO_LAYOUT_FIELDS	"Unknown layout. Dumping raw data\n"
+
+struct eeprom_field layout_unknown[1] = {
+	{ NO_LAYOUT_FIELDS, 256, NULL, eeprom_field_print_bin,
+				       eeprom_field_update_bin },
+};
+
+/*
+ * eeprom_layout_detect() - detect layout based on the contents of the data.
+ * @data: Pointer to the data to be analyzed.
+ *
+ * Returns: the detected layout version.
+ */
+__weak int eeprom_layout_detect(unsigned char *data)
+{
+	return LAYOUT_VERSION_UNRECOGNIZED;
+}
+
+/*
+ * __eeprom_layout_assign() - set the layout fields
+ * @layout:		A pointer to an existing struct layout.
+ * @layout_version:	The version number of the desired layout
+ */
+__weak void __eeprom_layout_assign(struct eeprom_layout *layout,
+				   int layout_version)
+{
+	layout->fields = layout_unknown;
+	layout->num_of_fields = ARRAY_SIZE(layout_unknown);
+}
+void eeprom_layout_assign(struct eeprom_layout *layout, int layout_version) \
+		__attribute__((weak, alias("__eeprom_layout_assign")));
+
+/*
+ * eeprom_layout_print() - print the layout and the data which is assigned to it
+ * @layout: A pointer to an existing struct layout.
+ */
+static void eeprom_layout_print(const struct eeprom_layout *layout)
+{
+	int i;
+	struct eeprom_field *fields = layout->fields;
+
+	for (i = 0; i < layout->num_of_fields; i++)
+		fields[i].print(&fields[i]);
+}
+
+/*
+ * eeprom_layout_update_field() - update a single field in the layout data.
+ * @layout:	A pointer to an existing struct layout.
+ * @field_name:	The name of the field to update.
+ * @new_data:	The new field data (a string. Format depends on the field)
+ *
+ * Returns: 0 on success, negative error value on failure.
+ */
+static int eeprom_layout_update_field(struct eeprom_layout *layout,
+				      char *field_name, char *new_data)
+{
+	int i, err;
+	struct eeprom_field *fields = layout->fields;
+
+	if (new_data == NULL)
+		return 0;
+
+	if (field_name == NULL)
+		return -1;
+
+	for (i = 0; i < layout->num_of_fields; i++) {
+		if (fields[i].name == RESERVED_FIELDS ||
+		    strcmp(fields[i].name, field_name))
+			continue;
+
+		err = fields[i].update(&fields[i], new_data);
+		if (err)
+			printf("Invalid data for field %s\n", field_name);
+
+		return err;
+	}
+
+	printf("No such field '%s'\n", field_name);
+
+	return -1;
+}
+
+/*
+ * eeprom_layout_setup() - setup layout struct with the layout data and
+ *			   metadata as dictated by layout_version
+ * @layout:	A pointer to an existing struct layout.
+ * @buf:	A buffer initialized with the eeprom data.
+ * @buf_size:	Size of buf in bytes.
+ * @layout version: The version number of the layout.
+ */
+void eeprom_layout_setup(struct eeprom_layout *layout, unsigned char *buf,
+			 unsigned int buf_size, int layout_version)
+{
+	int i;
+
+	if (layout_version == LAYOUT_VERSION_AUTODETECT)
+		layout->layout_version = eeprom_layout_detect(buf);
+	else
+		layout->layout_version = layout_version;
+
+	eeprom_layout_assign(layout, layout_version);
+	layout->data = buf;
+	for (i = 0; i < layout->num_of_fields; i++) {
+		layout->fields[i].buf = buf;
+		buf += layout->fields[i].size;
+	}
+
+	layout->data_size = buf_size;
+	layout->print = eeprom_layout_print;
+	layout->update = eeprom_layout_update_field;
+}
diff --git a/common/env_mmc.c b/common/env_mmc.c
index bdb452e..c7fef18 100644
--- a/common/env_mmc.c
+++ b/common/env_mmc.c
@@ -86,8 +86,8 @@
 	dev = 0;
 #endif
 
-	env_mmc_orig_hwpart = mmc->block_dev.hwpart;
-	ret = mmc_select_hwpart(dev, part);
+	env_mmc_orig_hwpart = mmc_get_blk_desc(mmc)->hwpart;
+	ret = blk_select_hwpart_devnum(IF_TYPE_MMC, dev, part);
 	if (ret)
 		puts("MMC partition switch failed\n");
 
@@ -119,7 +119,7 @@
 #ifdef CONFIG_SPL_BUILD
 	dev = 0;
 #endif
-	mmc_select_hwpart(dev, env_mmc_orig_hwpart);
+	blk_select_hwpart_devnum(IF_TYPE_MMC, dev, env_mmc_orig_hwpart);
 #endif
 }
 
diff --git a/common/ide.c b/common/ide.c
new file mode 100644
index 0000000..ac5b91c
--- /dev/null
+++ b/common/ide.c
@@ -0,0 +1,1231 @@
+/*
+ * (C) Copyright 2000-2011
+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <ata.h>
+#include <dm.h>
+#include <ide.h>
+#include <watchdog.h>
+#include <asm/io.h>
+
+#ifdef __PPC__
+# define EIEIO		__asm__ volatile ("eieio")
+# define SYNC		__asm__ volatile ("sync")
+#else
+# define EIEIO		/* nothing */
+# define SYNC		/* nothing */
+#endif
+
+/* Current offset for IDE0 / IDE1 bus access	*/
+ulong ide_bus_offset[CONFIG_SYS_IDE_MAXBUS] = {
+#if defined(CONFIG_SYS_ATA_IDE0_OFFSET)
+	CONFIG_SYS_ATA_IDE0_OFFSET,
+#endif
+#if defined(CONFIG_SYS_ATA_IDE1_OFFSET) && (CONFIG_SYS_IDE_MAXBUS > 1)
+	CONFIG_SYS_ATA_IDE1_OFFSET,
+#endif
+};
+
+static int ide_bus_ok[CONFIG_SYS_IDE_MAXBUS];
+
+struct blk_desc ide_dev_desc[CONFIG_SYS_IDE_MAXDEVICE];
+
+#define IDE_TIME_OUT	2000	/* 2 sec timeout */
+
+#define ATAPI_TIME_OUT	7000	/* 7 sec timeout (5 sec seems to work...) */
+
+#define IDE_SPIN_UP_TIME_OUT 5000 /* 5 sec spin-up timeout */
+
+#ifndef CONFIG_SYS_ATA_PORT_ADDR
+#define CONFIG_SYS_ATA_PORT_ADDR(port) (port)
+#endif
+
+#ifndef CONFIG_IDE_LED	/* define LED macros, they are not used anyways */
+# define DEVICE_LED(x) 0
+# define LED_IDE1 1
+# define LED_IDE2 2
+#endif
+
+#ifdef CONFIG_IDE_RESET
+extern void ide_set_reset(int idereset);
+
+static void ide_reset(void)
+{
+	int i;
+
+	for (i = 0; i < CONFIG_SYS_IDE_MAXBUS; ++i)
+		ide_bus_ok[i] = 0;
+	for (i = 0; i < CONFIG_SYS_IDE_MAXDEVICE; ++i)
+		ide_dev_desc[i].type = DEV_TYPE_UNKNOWN;
+
+	ide_set_reset(1);	/* assert reset */
+
+	/* the reset signal shall be asserted for et least 25 us */
+	udelay(25);
+
+	WATCHDOG_RESET();
+
+	/* de-assert RESET signal */
+	ide_set_reset(0);
+
+	/* wait 250 ms */
+	for (i = 0; i < 250; ++i)
+		udelay(1000);
+}
+#else
+#define ide_reset()	/* dummy */
+#endif /* CONFIG_IDE_RESET */
+
+/*
+ * Wait until Busy bit is off, or timeout (in ms)
+ * Return last status
+ */
+static uchar ide_wait(int dev, ulong t)
+{
+	ulong delay = 10 * t;	/* poll every 100 us */
+	uchar c;
+
+	while ((c = ide_inb(dev, ATA_STATUS)) & ATA_STAT_BUSY) {
+		udelay(100);
+		if (delay-- == 0)
+			break;
+	}
+	return c;
+}
+
+/*
+ * copy src to dest, skipping leading and trailing blanks and null
+ * terminate the string
+ * "len" is the size of available memory including the terminating '\0'
+ */
+static void ident_cpy(unsigned char *dst, unsigned char *src,
+		      unsigned int len)
+{
+	unsigned char *end, *last;
+
+	last = dst;
+	end = src + len - 1;
+
+	/* reserve space for '\0' */
+	if (len < 2)
+		goto OUT;
+
+	/* skip leading white space */
+	while ((*src) && (src < end) && (*src == ' '))
+		++src;
+
+	/* copy string, omitting trailing white space */
+	while ((*src) && (src < end)) {
+		*dst++ = *src;
+		if (*src++ != ' ')
+			last = dst;
+	}
+OUT:
+	*last = '\0';
+}
+
+#ifdef CONFIG_ATAPI
+/****************************************************************************
+ * ATAPI Support
+ */
+
+#if defined(CONFIG_IDE_SWAP_IO)
+/* since ATAPI may use commands with not 4 bytes alligned length
+ * we have our own transfer functions, 2 bytes alligned */
+__weak void ide_output_data_shorts(int dev, ushort *sect_buf, int shorts)
+{
+	ushort *dbuf;
+	volatile ushort *pbuf;
+
+	pbuf = (ushort *)(ATA_CURR_BASE(dev) + ATA_DATA_REG);
+	dbuf = (ushort *)sect_buf;
+
+	debug("in output data shorts base for read is %lx\n",
+	      (unsigned long) pbuf);
+
+	while (shorts--) {
+		EIEIO;
+		*pbuf = *dbuf++;
+	}
+}
+
+__weak void ide_input_data_shorts(int dev, ushort *sect_buf, int shorts)
+{
+	ushort *dbuf;
+	volatile ushort *pbuf;
+
+	pbuf = (ushort *)(ATA_CURR_BASE(dev) + ATA_DATA_REG);
+	dbuf = (ushort *)sect_buf;
+
+	debug("in input data shorts base for read is %lx\n",
+	      (unsigned long) pbuf);
+
+	while (shorts--) {
+		EIEIO;
+		*dbuf++ = *pbuf;
+	}
+}
+
+#else  /* ! CONFIG_IDE_SWAP_IO */
+__weak void ide_output_data_shorts(int dev, ushort *sect_buf, int shorts)
+{
+	outsw(ATA_CURR_BASE(dev) + ATA_DATA_REG, sect_buf, shorts);
+}
+
+__weak void ide_input_data_shorts(int dev, ushort *sect_buf, int shorts)
+{
+	insw(ATA_CURR_BASE(dev) + ATA_DATA_REG, sect_buf, shorts);
+}
+
+#endif /* CONFIG_IDE_SWAP_IO */
+
+/*
+ * Wait until (Status & mask) == res, or timeout (in ms)
+ * Return last status
+ * This is used since some ATAPI CD ROMs clears their Busy Bit first
+ * and then they set their DRQ Bit
+ */
+static uchar atapi_wait_mask(int dev, ulong t, uchar mask, uchar res)
+{
+	ulong delay = 10 * t;	/* poll every 100 us */
+	uchar c;
+
+	/* prevents to read the status before valid */
+	c = ide_inb(dev, ATA_DEV_CTL);
+
+	while (((c = ide_inb(dev, ATA_STATUS)) & mask) != res) {
+		/* break if error occurs (doesn't make sense to wait more) */
+		if ((c & ATA_STAT_ERR) == ATA_STAT_ERR)
+			break;
+		udelay(100);
+		if (delay-- == 0)
+			break;
+	}
+	return c;
+}
+
+/*
+ * issue an atapi command
+ */
+unsigned char atapi_issue(int device, unsigned char *ccb, int ccblen,
+			  unsigned char *buffer, int buflen)
+{
+	unsigned char c, err, mask, res;
+	int n;
+
+	ide_led(DEVICE_LED(device), 1);	/* LED on       */
+
+	/* Select device
+	 */
+	mask = ATA_STAT_BUSY | ATA_STAT_DRQ;
+	res = 0;
+	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
+	c = atapi_wait_mask(device, ATAPI_TIME_OUT, mask, res);
+	if ((c & mask) != res) {
+		printf("ATAPI_ISSUE: device %d not ready status %X\n", device,
+		       c);
+		err = 0xFF;
+		goto AI_OUT;
+	}
+	/* write taskfile */
+	ide_outb(device, ATA_ERROR_REG, 0);	/* no DMA, no overlaped */
+	ide_outb(device, ATA_SECT_CNT, 0);
+	ide_outb(device, ATA_SECT_NUM, 0);
+	ide_outb(device, ATA_CYL_LOW, (unsigned char) (buflen & 0xFF));
+	ide_outb(device, ATA_CYL_HIGH,
+		 (unsigned char) ((buflen >> 8) & 0xFF));
+	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
+
+	ide_outb(device, ATA_COMMAND, ATAPI_CMD_PACKET);
+	udelay(50);
+
+	mask = ATA_STAT_DRQ | ATA_STAT_BUSY | ATA_STAT_ERR;
+	res = ATA_STAT_DRQ;
+	c = atapi_wait_mask(device, ATAPI_TIME_OUT, mask, res);
+
+	if ((c & mask) != res) {	/* DRQ must be 1, BSY 0 */
+		printf("ATAPI_ISSUE: Error (no IRQ) before sending ccb dev %d status 0x%02x\n",
+		       device, c);
+		err = 0xFF;
+		goto AI_OUT;
+	}
+
+	/* write command block */
+	ide_output_data_shorts(device, (unsigned short *)ccb, ccblen / 2);
+
+	/* ATAPI Command written wait for completition */
+	udelay(5000);		/* device must set bsy */
+
+	mask = ATA_STAT_DRQ | ATA_STAT_BUSY | ATA_STAT_ERR;
+	/*
+	 * if no data wait for DRQ = 0 BSY = 0
+	 * if data wait for DRQ = 1 BSY = 0
+	 */
+	res = 0;
+	if (buflen)
+		res = ATA_STAT_DRQ;
+	c = atapi_wait_mask(device, ATAPI_TIME_OUT, mask, res);
+	if ((c & mask) != res) {
+		if (c & ATA_STAT_ERR) {
+			err = (ide_inb(device, ATA_ERROR_REG)) >> 4;
+			debug("atapi_issue 1 returned sense key %X status %02X\n",
+			      err, c);
+		} else {
+			printf("ATAPI_ISSUE: (no DRQ) after sending ccb (%x)  status 0x%02x\n",
+			       ccb[0], c);
+			err = 0xFF;
+		}
+		goto AI_OUT;
+	}
+	n = ide_inb(device, ATA_CYL_HIGH);
+	n <<= 8;
+	n += ide_inb(device, ATA_CYL_LOW);
+	if (n > buflen) {
+		printf("ERROR, transfer bytes %d requested only %d\n", n,
+		       buflen);
+		err = 0xff;
+		goto AI_OUT;
+	}
+	if ((n == 0) && (buflen < 0)) {
+		printf("ERROR, transfer bytes %d requested %d\n", n, buflen);
+		err = 0xff;
+		goto AI_OUT;
+	}
+	if (n != buflen) {
+		debug("WARNING, transfer bytes %d not equal with requested %d\n",
+		      n, buflen);
+	}
+	if (n != 0) {		/* data transfer */
+		debug("ATAPI_ISSUE: %d Bytes to transfer\n", n);
+		/* we transfer shorts */
+		n >>= 1;
+		/* ok now decide if it is an in or output */
+		if ((ide_inb(device, ATA_SECT_CNT) & 0x02) == 0) {
+			debug("Write to device\n");
+			ide_output_data_shorts(device, (unsigned short *)buffer,
+					       n);
+		} else {
+			debug("Read from device @ %p shorts %d\n", buffer, n);
+			ide_input_data_shorts(device, (unsigned short *)buffer,
+					      n);
+		}
+	}
+	udelay(5000);		/* seems that some CD ROMs need this... */
+	mask = ATA_STAT_BUSY | ATA_STAT_ERR;
+	res = 0;
+	c = atapi_wait_mask(device, ATAPI_TIME_OUT, mask, res);
+	if ((c & ATA_STAT_ERR) == ATA_STAT_ERR) {
+		err = (ide_inb(device, ATA_ERROR_REG) >> 4);
+		debug("atapi_issue 2 returned sense key %X status %X\n", err,
+		      c);
+	} else {
+		err = 0;
+	}
+AI_OUT:
+	ide_led(DEVICE_LED(device), 0);	/* LED off      */
+	return err;
+}
+
+/*
+ * sending the command to atapi_issue. If an status other than good
+ * returns, an request_sense will be issued
+ */
+
+#define ATAPI_DRIVE_NOT_READY	100
+#define ATAPI_UNIT_ATTN		10
+
+unsigned char atapi_issue_autoreq(int device,
+				  unsigned char *ccb,
+				  int ccblen,
+				  unsigned char *buffer, int buflen)
+{
+	unsigned char sense_data[18], sense_ccb[12];
+	unsigned char res, key, asc, ascq;
+	int notready, unitattn;
+
+	unitattn = ATAPI_UNIT_ATTN;
+	notready = ATAPI_DRIVE_NOT_READY;
+
+retry:
+	res = atapi_issue(device, ccb, ccblen, buffer, buflen);
+	if (res == 0)
+		return 0;	/* Ok */
+
+	if (res == 0xFF)
+		return 0xFF;	/* error */
+
+	debug("(auto_req)atapi_issue returned sense key %X\n", res);
+
+	memset(sense_ccb, 0, sizeof(sense_ccb));
+	memset(sense_data, 0, sizeof(sense_data));
+	sense_ccb[0] = ATAPI_CMD_REQ_SENSE;
+	sense_ccb[4] = 18;	/* allocation Length */
+
+	res = atapi_issue(device, sense_ccb, 12, sense_data, 18);
+	key = (sense_data[2] & 0xF);
+	asc = (sense_data[12]);
+	ascq = (sense_data[13]);
+
+	debug("ATAPI_CMD_REQ_SENSE returned %x\n", res);
+	debug(" Sense page: %02X key %02X ASC %02X ASCQ %02X\n",
+	      sense_data[0], key, asc, ascq);
+
+	if ((key == 0))
+		return 0;	/* ok device ready */
+
+	if ((key == 6) || (asc == 0x29) || (asc == 0x28)) { /* Unit Attention */
+		if (unitattn-- > 0) {
+			udelay(200 * 1000);
+			goto retry;
+		}
+		printf("Unit Attention, tried %d\n", ATAPI_UNIT_ATTN);
+		goto error;
+	}
+	if ((asc == 0x4) && (ascq == 0x1)) {
+		/* not ready, but will be ready soon */
+		if (notready-- > 0) {
+			udelay(200 * 1000);
+			goto retry;
+		}
+		printf("Drive not ready, tried %d times\n",
+		       ATAPI_DRIVE_NOT_READY);
+		goto error;
+	}
+	if (asc == 0x3a) {
+		debug("Media not present\n");
+		goto error;
+	}
+
+	printf("ERROR: Unknown Sense key %02X ASC %02X ASCQ %02X\n", key, asc,
+	       ascq);
+error:
+	debug("ERROR Sense key %02X ASC %02X ASCQ %02X\n", key, asc, ascq);
+	return 0xFF;
+}
+
+/*
+ * atapi_read:
+ * we transfer only one block per command, since the multiple DRQ per
+ * command is not yet implemented
+ */
+#define ATAPI_READ_MAX_BYTES	2048	/* we read max 2kbytes */
+#define ATAPI_READ_BLOCK_SIZE	2048	/* assuming CD part */
+#define ATAPI_READ_MAX_BLOCK	(ATAPI_READ_MAX_BYTES/ATAPI_READ_BLOCK_SIZE)
+
+ulong atapi_read(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t blkcnt,
+		 void *buffer)
+{
+	int device = block_dev->devnum;
+	ulong n = 0;
+	unsigned char ccb[12];	/* Command descriptor block */
+	ulong cnt;
+
+	debug("atapi_read dev %d start " LBAF " blocks " LBAF
+	      " buffer at %lX\n", device, blknr, blkcnt, (ulong) buffer);
+
+	do {
+		if (blkcnt > ATAPI_READ_MAX_BLOCK)
+			cnt = ATAPI_READ_MAX_BLOCK;
+		else
+			cnt = blkcnt;
+
+		ccb[0] = ATAPI_CMD_READ_12;
+		ccb[1] = 0;	/* reserved */
+		ccb[2] = (unsigned char) (blknr >> 24) & 0xFF;	/* MSB Block */
+		ccb[3] = (unsigned char) (blknr >> 16) & 0xFF;	/*  */
+		ccb[4] = (unsigned char) (blknr >> 8) & 0xFF;
+		ccb[5] = (unsigned char) blknr & 0xFF;	/* LSB Block */
+		ccb[6] = (unsigned char) (cnt >> 24) & 0xFF; /* MSB Block cnt */
+		ccb[7] = (unsigned char) (cnt >> 16) & 0xFF;
+		ccb[8] = (unsigned char) (cnt >> 8) & 0xFF;
+		ccb[9] = (unsigned char) cnt & 0xFF;	/* LSB Block */
+		ccb[10] = 0;	/* reserved */
+		ccb[11] = 0;	/* reserved */
+
+		if (atapi_issue_autoreq(device, ccb, 12,
+					(unsigned char *)buffer,
+					cnt * ATAPI_READ_BLOCK_SIZE)
+		    == 0xFF) {
+			return n;
+		}
+		n += cnt;
+		blkcnt -= cnt;
+		blknr += cnt;
+		buffer += (cnt * ATAPI_READ_BLOCK_SIZE);
+	} while (blkcnt > 0);
+	return n;
+}
+
+static void atapi_inquiry(struct blk_desc *dev_desc)
+{
+	unsigned char ccb[12];	/* Command descriptor block */
+	unsigned char iobuf[64];	/* temp buf */
+	unsigned char c;
+	int device;
+
+	device = dev_desc->devnum;
+	dev_desc->type = DEV_TYPE_UNKNOWN;	/* not yet valid */
+	dev_desc->block_read = atapi_read;
+
+	memset(ccb, 0, sizeof(ccb));
+	memset(iobuf, 0, sizeof(iobuf));
+
+	ccb[0] = ATAPI_CMD_INQUIRY;
+	ccb[4] = 40;		/* allocation Legnth */
+	c = atapi_issue_autoreq(device, ccb, 12, (unsigned char *)iobuf, 40);
+
+	debug("ATAPI_CMD_INQUIRY returned %x\n", c);
+	if (c != 0)
+		return;
+
+	/* copy device ident strings */
+	ident_cpy((unsigned char *)dev_desc->vendor, &iobuf[8], 8);
+	ident_cpy((unsigned char *)dev_desc->product, &iobuf[16], 16);
+	ident_cpy((unsigned char *)dev_desc->revision, &iobuf[32], 5);
+
+	dev_desc->lun = 0;
+	dev_desc->lba = 0;
+	dev_desc->blksz = 0;
+	dev_desc->log2blksz = LOG2_INVALID(typeof(dev_desc->log2blksz));
+	dev_desc->type = iobuf[0] & 0x1f;
+
+	if ((iobuf[1] & 0x80) == 0x80)
+		dev_desc->removable = 1;
+	else
+		dev_desc->removable = 0;
+
+	memset(ccb, 0, sizeof(ccb));
+	memset(iobuf, 0, sizeof(iobuf));
+	ccb[0] = ATAPI_CMD_START_STOP;
+	ccb[4] = 0x03;		/* start */
+
+	c = atapi_issue_autoreq(device, ccb, 12, (unsigned char *)iobuf, 0);
+
+	debug("ATAPI_CMD_START_STOP returned %x\n", c);
+	if (c != 0)
+		return;
+
+	memset(ccb, 0, sizeof(ccb));
+	memset(iobuf, 0, sizeof(iobuf));
+	c = atapi_issue_autoreq(device, ccb, 12, (unsigned char *)iobuf, 0);
+
+	debug("ATAPI_CMD_UNIT_TEST_READY returned %x\n", c);
+	if (c != 0)
+		return;
+
+	memset(ccb, 0, sizeof(ccb));
+	memset(iobuf, 0, sizeof(iobuf));
+	ccb[0] = ATAPI_CMD_READ_CAP;
+	c = atapi_issue_autoreq(device, ccb, 12, (unsigned char *)iobuf, 8);
+	debug("ATAPI_CMD_READ_CAP returned %x\n", c);
+	if (c != 0)
+		return;
+
+	debug("Read Cap: LBA %02X%02X%02X%02X blksize %02X%02X%02X%02X\n",
+	      iobuf[0], iobuf[1], iobuf[2], iobuf[3],
+	      iobuf[4], iobuf[5], iobuf[6], iobuf[7]);
+
+	dev_desc->lba = ((unsigned long) iobuf[0] << 24) +
+		((unsigned long) iobuf[1] << 16) +
+		((unsigned long) iobuf[2] << 8) + ((unsigned long) iobuf[3]);
+	dev_desc->blksz = ((unsigned long) iobuf[4] << 24) +
+		((unsigned long) iobuf[5] << 16) +
+		((unsigned long) iobuf[6] << 8) + ((unsigned long) iobuf[7]);
+	dev_desc->log2blksz = LOG2(dev_desc->blksz);
+#ifdef CONFIG_LBA48
+	/* ATAPI devices cannot use 48bit addressing (ATA/ATAPI v7) */
+	dev_desc->lba48 = 0;
+#endif
+	return;
+}
+
+#endif /* CONFIG_ATAPI */
+
+static void ide_ident(struct blk_desc *dev_desc)
+{
+	unsigned char c;
+	hd_driveid_t iop;
+
+#ifdef CONFIG_ATAPI
+	int retries = 0;
+#endif
+	int device;
+
+	device = dev_desc->devnum;
+	printf("  Device %d: ", device);
+
+	ide_led(DEVICE_LED(device), 1);	/* LED on       */
+	/* Select device
+	 */
+	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
+	dev_desc->if_type = IF_TYPE_IDE;
+#ifdef CONFIG_ATAPI
+
+	retries = 0;
+
+	/* Warning: This will be tricky to read */
+	while (retries <= 1) {
+		/* check signature */
+		if ((ide_inb(device, ATA_SECT_CNT) == 0x01) &&
+		    (ide_inb(device, ATA_SECT_NUM) == 0x01) &&
+		    (ide_inb(device, ATA_CYL_LOW) == 0x14) &&
+		    (ide_inb(device, ATA_CYL_HIGH) == 0xEB)) {
+			/* ATAPI Signature found */
+			dev_desc->if_type = IF_TYPE_ATAPI;
+			/*
+			 * Start Ident Command
+			 */
+			ide_outb(device, ATA_COMMAND, ATAPI_CMD_IDENT);
+			/*
+			 * Wait for completion - ATAPI devices need more time
+			 * to become ready
+			 */
+			c = ide_wait(device, ATAPI_TIME_OUT);
+		} else
+#endif
+		{
+			/*
+			 * Start Ident Command
+			 */
+			ide_outb(device, ATA_COMMAND, ATA_CMD_IDENT);
+
+			/*
+			 * Wait for completion
+			 */
+			c = ide_wait(device, IDE_TIME_OUT);
+		}
+		ide_led(DEVICE_LED(device), 0);	/* LED off      */
+
+		if (((c & ATA_STAT_DRQ) == 0) ||
+		    ((c & (ATA_STAT_FAULT | ATA_STAT_ERR)) != 0)) {
+#ifdef CONFIG_ATAPI
+			{
+				/*
+				 * Need to soft reset the device
+				 * in case it's an ATAPI...
+				 */
+				debug("Retrying...\n");
+				ide_outb(device, ATA_DEV_HD,
+					 ATA_LBA | ATA_DEVICE(device));
+				udelay(100000);
+				ide_outb(device, ATA_COMMAND, 0x08);
+				udelay(500000);	/* 500 ms */
+			}
+			/*
+			 * Select device
+			 */
+			ide_outb(device, ATA_DEV_HD,
+				 ATA_LBA | ATA_DEVICE(device));
+			retries++;
+#else
+			return;
+#endif
+		}
+#ifdef CONFIG_ATAPI
+		else
+			break;
+	}			/* see above - ugly to read */
+
+	if (retries == 2)	/* Not found */
+		return;
+#endif
+
+	ide_input_swap_data(device, (ulong *)&iop, ATA_SECTORWORDS);
+
+	ident_cpy((unsigned char *)dev_desc->revision, iop.fw_rev,
+		  sizeof(dev_desc->revision));
+	ident_cpy((unsigned char *)dev_desc->vendor, iop.model,
+		  sizeof(dev_desc->vendor));
+	ident_cpy((unsigned char *)dev_desc->product, iop.serial_no,
+		  sizeof(dev_desc->product));
+#ifdef __LITTLE_ENDIAN
+	/*
+	 * firmware revision, model, and serial number have Big Endian Byte
+	 * order in Word. Convert all three to little endian.
+	 *
+	 * See CF+ and CompactFlash Specification Revision 2.0:
+	 * 6.2.1.6: Identify Drive, Table 39 for more details
+	 */
+
+	strswab(dev_desc->revision);
+	strswab(dev_desc->vendor);
+	strswab(dev_desc->product);
+#endif /* __LITTLE_ENDIAN */
+
+	if ((iop.config & 0x0080) == 0x0080)
+		dev_desc->removable = 1;
+	else
+		dev_desc->removable = 0;
+
+#ifdef CONFIG_ATAPI
+	if (dev_desc->if_type == IF_TYPE_ATAPI) {
+		atapi_inquiry(dev_desc);
+		return;
+	}
+#endif /* CONFIG_ATAPI */
+
+#ifdef __BIG_ENDIAN
+	/* swap shorts */
+	dev_desc->lba = (iop.lba_capacity << 16) | (iop.lba_capacity >> 16);
+#else  /* ! __BIG_ENDIAN */
+	/*
+	 * do not swap shorts on little endian
+	 *
+	 * See CF+ and CompactFlash Specification Revision 2.0:
+	 * 6.2.1.6: Identfy Drive, Table 39, Word Address 57-58 for details.
+	 */
+	dev_desc->lba = iop.lba_capacity;
+#endif /* __BIG_ENDIAN */
+
+#ifdef CONFIG_LBA48
+	if (iop.command_set_2 & 0x0400) {	/* LBA 48 support */
+		dev_desc->lba48 = 1;
+		dev_desc->lba = (unsigned long long) iop.lba48_capacity[0] |
+			((unsigned long long) iop.lba48_capacity[1] << 16) |
+			((unsigned long long) iop.lba48_capacity[2] << 32) |
+			((unsigned long long) iop.lba48_capacity[3] << 48);
+	} else {
+		dev_desc->lba48 = 0;
+	}
+#endif /* CONFIG_LBA48 */
+	/* assuming HD */
+	dev_desc->type = DEV_TYPE_HARDDISK;
+	dev_desc->blksz = ATA_BLOCKSIZE;
+	dev_desc->log2blksz = LOG2(dev_desc->blksz);
+	dev_desc->lun = 0;	/* just to fill something in... */
+
+#if 0				/* only used to test the powersaving mode,
+				 * if enabled, the drive goes after 5 sec
+				 * in standby mode */
+	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
+	c = ide_wait(device, IDE_TIME_OUT);
+	ide_outb(device, ATA_SECT_CNT, 1);
+	ide_outb(device, ATA_LBA_LOW, 0);
+	ide_outb(device, ATA_LBA_MID, 0);
+	ide_outb(device, ATA_LBA_HIGH, 0);
+	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
+	ide_outb(device, ATA_COMMAND, 0xe3);
+	udelay(50);
+	c = ide_wait(device, IDE_TIME_OUT);	/* can't take over 500 ms */
+#endif
+}
+
+__weak void ide_led(uchar led, uchar status)
+{
+#if defined(CONFIG_IDE_LED) && defined(PER8_BASE) /* required by LED_PORT */
+	static uchar led_buffer;	/* Buffer for current LED status */
+
+	uchar *led_port = LED_PORT;
+
+	if (status)		/* switch LED on        */
+		led_buffer |= led;
+	else			/* switch LED off       */
+		led_buffer &= ~led;
+
+	*led_port = led_buffer;
+#endif
+}
+
+__weak void ide_outb(int dev, int port, unsigned char val)
+{
+	debug("ide_outb (dev= %d, port= 0x%x, val= 0x%02x) : @ 0x%08lx\n",
+	      dev, port, val,
+	      (ATA_CURR_BASE(dev) + CONFIG_SYS_ATA_PORT_ADDR(port)));
+
+#if defined(CONFIG_IDE_AHB)
+	if (port) {
+		/* write command */
+		ide_write_register(dev, port, val);
+	} else {
+		/* write data */
+		outb(val, (ATA_CURR_BASE(dev)));
+	}
+#else
+	outb(val, (ATA_CURR_BASE(dev) + CONFIG_SYS_ATA_PORT_ADDR(port)));
+#endif
+}
+
+__weak unsigned char ide_inb(int dev, int port)
+{
+	uchar val;
+
+#if defined(CONFIG_IDE_AHB)
+	val = ide_read_register(dev, port);
+#else
+	val = inb((ATA_CURR_BASE(dev) + CONFIG_SYS_ATA_PORT_ADDR(port)));
+#endif
+
+	debug("ide_inb (dev= %d, port= 0x%x) : @ 0x%08lx -> 0x%02x\n",
+	      dev, port,
+	      (ATA_CURR_BASE(dev) + CONFIG_SYS_ATA_PORT_ADDR(port)), val);
+	return val;
+}
+
+void ide_init(void)
+{
+	unsigned char c;
+	int i, bus;
+
+#ifdef CONFIG_IDE_8xx_PCCARD
+	extern int ide_devices_found;	/* Initialized in check_ide_device() */
+#endif /* CONFIG_IDE_8xx_PCCARD */
+
+#ifdef CONFIG_IDE_PREINIT
+	WATCHDOG_RESET();
+
+	if (ide_preinit()) {
+		puts("ide_preinit failed\n");
+		return;
+	}
+#endif /* CONFIG_IDE_PREINIT */
+
+	WATCHDOG_RESET();
+
+	/*
+	 * Reset the IDE just to be sure.
+	 * Light LED's to show
+	 */
+	ide_led((LED_IDE1 | LED_IDE2), 1);	/* LED's on     */
+
+	/* ATAPI Drives seems to need a proper IDE Reset */
+	ide_reset();
+
+#ifdef CONFIG_IDE_INIT_POSTRESET
+	WATCHDOG_RESET();
+
+	if (ide_init_postreset()) {
+		puts("ide_preinit_postreset failed\n");
+		return;
+	}
+#endif /* CONFIG_IDE_INIT_POSTRESET */
+
+	/*
+	 * Wait for IDE to get ready.
+	 * According to spec, this can take up to 31 seconds!
+	 */
+	for (bus = 0; bus < CONFIG_SYS_IDE_MAXBUS; ++bus) {
+		int dev =
+			bus * (CONFIG_SYS_IDE_MAXDEVICE /
+			       CONFIG_SYS_IDE_MAXBUS);
+
+#ifdef CONFIG_IDE_8xx_PCCARD
+		/* Skip non-ide devices from probing */
+		if ((ide_devices_found & (1 << bus)) == 0) {
+			ide_led((LED_IDE1 | LED_IDE2), 0);	/* LED's off */
+			continue;
+		}
+#endif
+		printf("Bus %d: ", bus);
+
+		ide_bus_ok[bus] = 0;
+
+		/* Select device
+		 */
+		udelay(100000);	/* 100 ms */
+		ide_outb(dev, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(dev));
+		udelay(100000);	/* 100 ms */
+		i = 0;
+		do {
+			udelay(10000);	/* 10 ms */
+
+			c = ide_inb(dev, ATA_STATUS);
+			i++;
+			if (i > (ATA_RESET_TIME * 100)) {
+				puts("** Timeout **\n");
+				/* LED's off */
+				ide_led((LED_IDE1 | LED_IDE2), 0);
+				return;
+			}
+			if ((i >= 100) && ((i % 100) == 0))
+				putc('.');
+
+		} while (c & ATA_STAT_BUSY);
+
+		if (c & (ATA_STAT_BUSY | ATA_STAT_FAULT)) {
+			puts("not available  ");
+			debug("Status = 0x%02X ", c);
+#ifndef CONFIG_ATAPI		/* ATAPI Devices do not set DRDY */
+		} else if ((c & ATA_STAT_READY) == 0) {
+			puts("not available  ");
+			debug("Status = 0x%02X ", c);
+#endif
+		} else {
+			puts("OK ");
+			ide_bus_ok[bus] = 1;
+		}
+		WATCHDOG_RESET();
+	}
+
+	putc('\n');
+
+	ide_led((LED_IDE1 | LED_IDE2), 0);	/* LED's off    */
+
+	for (i = 0; i < CONFIG_SYS_IDE_MAXDEVICE; ++i) {
+		int led = (IDE_BUS(i) == 0) ? LED_IDE1 : LED_IDE2;
+		ide_dev_desc[i].type = DEV_TYPE_UNKNOWN;
+		ide_dev_desc[i].if_type = IF_TYPE_IDE;
+		ide_dev_desc[i].devnum = i;
+		ide_dev_desc[i].part_type = PART_TYPE_UNKNOWN;
+		ide_dev_desc[i].blksz = 0;
+		ide_dev_desc[i].log2blksz =
+			LOG2_INVALID(typeof(ide_dev_desc[i].log2blksz));
+		ide_dev_desc[i].lba = 0;
+#ifndef CONFIG_BLK
+		ide_dev_desc[i].block_read = ide_read;
+		ide_dev_desc[i].block_write = ide_write;
+#endif
+		if (!ide_bus_ok[IDE_BUS(i)])
+			continue;
+		ide_led(led, 1);	/* LED on       */
+		ide_ident(&ide_dev_desc[i]);
+		ide_led(led, 0);	/* LED off      */
+		dev_print(&ide_dev_desc[i]);
+
+		if ((ide_dev_desc[i].lba > 0) && (ide_dev_desc[i].blksz > 0)) {
+			/* initialize partition type */
+			part_init(&ide_dev_desc[i]);
+		}
+	}
+	WATCHDOG_RESET();
+}
+
+/* We only need to swap data if we are running on a big endian cpu. */
+#if defined(__LITTLE_ENDIAN)
+__weak void ide_input_swap_data(int dev, ulong *sect_buf, int words)
+{
+	ide_input_data(dev, sect_buf, words);
+}
+#else
+__weak void ide_input_swap_data(int dev, ulong *sect_buf, int words)
+{
+	volatile ushort *pbuf =
+		(ushort *)(ATA_CURR_BASE(dev) + ATA_DATA_REG);
+	ushort *dbuf = (ushort *)sect_buf;
+
+	debug("in input swap data base for read is %lx\n",
+	      (unsigned long) pbuf);
+
+	while (words--) {
+#ifdef __MIPS__
+		*dbuf++ = swab16p((u16 *)pbuf);
+		*dbuf++ = swab16p((u16 *)pbuf);
+#else
+		*dbuf++ = ld_le16(pbuf);
+		*dbuf++ = ld_le16(pbuf);
+#endif /* !MIPS */
+	}
+}
+#endif /* __LITTLE_ENDIAN */
+
+
+#if defined(CONFIG_IDE_SWAP_IO)
+__weak void ide_output_data(int dev, const ulong *sect_buf, int words)
+{
+	ushort *dbuf;
+	volatile ushort *pbuf;
+
+	pbuf = (ushort *)(ATA_CURR_BASE(dev) + ATA_DATA_REG);
+	dbuf = (ushort *)sect_buf;
+	while (words--) {
+		EIEIO;
+		*pbuf = *dbuf++;
+		EIEIO;
+		*pbuf = *dbuf++;
+	}
+}
+#else  /* ! CONFIG_IDE_SWAP_IO */
+__weak void ide_output_data(int dev, const ulong *sect_buf, int words)
+{
+#if defined(CONFIG_IDE_AHB)
+	ide_write_data(dev, sect_buf, words);
+#else
+	outsw(ATA_CURR_BASE(dev) + ATA_DATA_REG, sect_buf, words << 1);
+#endif
+}
+#endif /* CONFIG_IDE_SWAP_IO */
+
+#if defined(CONFIG_IDE_SWAP_IO)
+__weak void ide_input_data(int dev, ulong *sect_buf, int words)
+{
+	ushort *dbuf;
+	volatile ushort *pbuf;
+
+	pbuf = (ushort *)(ATA_CURR_BASE(dev) + ATA_DATA_REG);
+	dbuf = (ushort *)sect_buf;
+
+	debug("in input data base for read is %lx\n", (unsigned long) pbuf);
+
+	while (words--) {
+		EIEIO;
+		*dbuf++ = *pbuf;
+		EIEIO;
+		*dbuf++ = *pbuf;
+	}
+}
+#else  /* ! CONFIG_IDE_SWAP_IO */
+__weak void ide_input_data(int dev, ulong *sect_buf, int words)
+{
+#if defined(CONFIG_IDE_AHB)
+	ide_read_data(dev, sect_buf, words);
+#else
+	insw(ATA_CURR_BASE(dev) + ATA_DATA_REG, sect_buf, words << 1);
+#endif
+}
+
+#endif /* CONFIG_IDE_SWAP_IO */
+
+#ifdef CONFIG_BLK
+ulong ide_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
+	       void *buffer)
+#else
+ulong ide_read(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t blkcnt,
+	       void *buffer)
+#endif
+{
+#ifdef CONFIG_BLK
+	struct blk_desc *block_dev = dev_get_uclass_platdata(dev);
+#endif
+	int device = block_dev->devnum;
+	ulong n = 0;
+	unsigned char c;
+	unsigned char pwrsave = 0;	/* power save */
+
+#ifdef CONFIG_LBA48
+	unsigned char lba48 = 0;
+
+	if (blknr & 0x0000fffff0000000ULL) {
+		/* more than 28 bits used, use 48bit mode */
+		lba48 = 1;
+	}
+#endif
+	debug("ide_read dev %d start " LBAF ", blocks " LBAF " buffer at %lX\n",
+	      device, blknr, blkcnt, (ulong) buffer);
+
+	ide_led(DEVICE_LED(device), 1);	/* LED on       */
+
+	/* Select device
+	 */
+	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
+	c = ide_wait(device, IDE_TIME_OUT);
+
+	if (c & ATA_STAT_BUSY) {
+		printf("IDE read: device %d not ready\n", device);
+		goto IDE_READ_E;
+	}
+
+	/* first check if the drive is in Powersaving mode, if yes,
+	 * increase the timeout value */
+	ide_outb(device, ATA_COMMAND, ATA_CMD_CHK_PWR);
+	udelay(50);
+
+	c = ide_wait(device, IDE_TIME_OUT);	/* can't take over 500 ms */
+
+	if (c & ATA_STAT_BUSY) {
+		printf("IDE read: device %d not ready\n", device);
+		goto IDE_READ_E;
+	}
+	if ((c & ATA_STAT_ERR) == ATA_STAT_ERR) {
+		printf("No Powersaving mode %X\n", c);
+	} else {
+		c = ide_inb(device, ATA_SECT_CNT);
+		debug("Powersaving %02X\n", c);
+		if (c == 0)
+			pwrsave = 1;
+	}
+
+
+	while (blkcnt-- > 0) {
+		c = ide_wait(device, IDE_TIME_OUT);
+
+		if (c & ATA_STAT_BUSY) {
+			printf("IDE read: device %d not ready\n", device);
+			break;
+		}
+#ifdef CONFIG_LBA48
+		if (lba48) {
+			/* write high bits */
+			ide_outb(device, ATA_SECT_CNT, 0);
+			ide_outb(device, ATA_LBA_LOW, (blknr >> 24) & 0xFF);
+#ifdef CONFIG_SYS_64BIT_LBA
+			ide_outb(device, ATA_LBA_MID, (blknr >> 32) & 0xFF);
+			ide_outb(device, ATA_LBA_HIGH, (blknr >> 40) & 0xFF);
+#else
+			ide_outb(device, ATA_LBA_MID, 0);
+			ide_outb(device, ATA_LBA_HIGH, 0);
+#endif
+		}
+#endif
+		ide_outb(device, ATA_SECT_CNT, 1);
+		ide_outb(device, ATA_LBA_LOW, (blknr >> 0) & 0xFF);
+		ide_outb(device, ATA_LBA_MID, (blknr >> 8) & 0xFF);
+		ide_outb(device, ATA_LBA_HIGH, (blknr >> 16) & 0xFF);
+
+#ifdef CONFIG_LBA48
+		if (lba48) {
+			ide_outb(device, ATA_DEV_HD,
+				 ATA_LBA | ATA_DEVICE(device));
+			ide_outb(device, ATA_COMMAND, ATA_CMD_READ_EXT);
+
+		} else
+#endif
+		{
+			ide_outb(device, ATA_DEV_HD, ATA_LBA |
+				 ATA_DEVICE(device) | ((blknr >> 24) & 0xF));
+			ide_outb(device, ATA_COMMAND, ATA_CMD_READ);
+		}
+
+		udelay(50);
+
+		if (pwrsave) {
+			/* may take up to 4 sec */
+			c = ide_wait(device, IDE_SPIN_UP_TIME_OUT);
+			pwrsave = 0;
+		} else {
+			/* can't take over 500 ms */
+			c = ide_wait(device, IDE_TIME_OUT);
+		}
+
+		if ((c & (ATA_STAT_DRQ | ATA_STAT_BUSY | ATA_STAT_ERR)) !=
+		    ATA_STAT_DRQ) {
+			printf("Error (no IRQ) dev %d blk " LBAF
+			       ": status %#02x\n", device, blknr, c);
+			break;
+		}
+
+		ide_input_data(device, buffer, ATA_SECTORWORDS);
+		(void) ide_inb(device, ATA_STATUS);	/* clear IRQ */
+
+		++n;
+		++blknr;
+		buffer += ATA_BLOCKSIZE;
+	}
+IDE_READ_E:
+	ide_led(DEVICE_LED(device), 0);	/* LED off      */
+	return n;
+}
+
+#ifdef CONFIG_BLK
+ulong ide_write(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
+		const void *buffer)
+#else
+ulong ide_write(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t blkcnt,
+		const void *buffer)
+#endif
+{
+#ifdef CONFIG_BLK
+	struct blk_desc *block_dev = dev_get_uclass_platdata(dev);
+#endif
+	int device = block_dev->devnum;
+	ulong n = 0;
+	unsigned char c;
+
+#ifdef CONFIG_LBA48
+	unsigned char lba48 = 0;
+
+	if (blknr & 0x0000fffff0000000ULL) {
+		/* more than 28 bits used, use 48bit mode */
+		lba48 = 1;
+	}
+#endif
+
+	ide_led(DEVICE_LED(device), 1);	/* LED on       */
+
+	/* Select device
+	 */
+	ide_outb(device, ATA_DEV_HD, ATA_LBA | ATA_DEVICE(device));
+
+	while (blkcnt-- > 0) {
+		c = ide_wait(device, IDE_TIME_OUT);
+
+		if (c & ATA_STAT_BUSY) {
+			printf("IDE read: device %d not ready\n", device);
+			goto WR_OUT;
+		}
+#ifdef CONFIG_LBA48
+		if (lba48) {
+			/* write high bits */
+			ide_outb(device, ATA_SECT_CNT, 0);
+			ide_outb(device, ATA_LBA_LOW, (blknr >> 24) & 0xFF);
+#ifdef CONFIG_SYS_64BIT_LBA
+			ide_outb(device, ATA_LBA_MID, (blknr >> 32) & 0xFF);
+			ide_outb(device, ATA_LBA_HIGH, (blknr >> 40) & 0xFF);
+#else
+			ide_outb(device, ATA_LBA_MID, 0);
+			ide_outb(device, ATA_LBA_HIGH, 0);
+#endif
+		}
+#endif
+		ide_outb(device, ATA_SECT_CNT, 1);
+		ide_outb(device, ATA_LBA_LOW, (blknr >> 0) & 0xFF);
+		ide_outb(device, ATA_LBA_MID, (blknr >> 8) & 0xFF);
+		ide_outb(device, ATA_LBA_HIGH, (blknr >> 16) & 0xFF);
+
+#ifdef CONFIG_LBA48
+		if (lba48) {
+			ide_outb(device, ATA_DEV_HD,
+				 ATA_LBA | ATA_DEVICE(device));
+			ide_outb(device, ATA_COMMAND, ATA_CMD_WRITE_EXT);
+
+		} else
+#endif
+		{
+			ide_outb(device, ATA_DEV_HD, ATA_LBA |
+				 ATA_DEVICE(device) | ((blknr >> 24) & 0xF));
+			ide_outb(device, ATA_COMMAND, ATA_CMD_WRITE);
+		}
+
+		udelay(50);
+
+		/* can't take over 500 ms */
+		c = ide_wait(device, IDE_TIME_OUT);
+
+		if ((c & (ATA_STAT_DRQ | ATA_STAT_BUSY | ATA_STAT_ERR)) !=
+		    ATA_STAT_DRQ) {
+			printf("Error (no IRQ) dev %d blk " LBAF
+			       ": status %#02x\n", device, blknr, c);
+			goto WR_OUT;
+		}
+
+		ide_output_data(device, buffer, ATA_SECTORWORDS);
+		c = ide_inb(device, ATA_STATUS);	/* clear IRQ */
+		++n;
+		++blknr;
+		buffer += ATA_BLOCKSIZE;
+	}
+WR_OUT:
+	ide_led(DEVICE_LED(device), 0);	/* LED off      */
+	return n;
+}
+
+#if defined(CONFIG_OF_IDE_FIXUP)
+int ide_device_present(int dev)
+{
+	if (dev >= CONFIG_SYS_IDE_MAXBUS)
+		return 0;
+	return ide_dev_desc[dev].type == DEV_TYPE_UNKNOWN ? 0 : 1;
+}
+#endif
+
+#ifdef CONFIG_BLK
+static const struct blk_ops ide_blk_ops = {
+	.read	= ide_read,
+	.write	= ide_write,
+};
+
+U_BOOT_DRIVER(ide_blk) = {
+	.name		= "ide_blk",
+	.id		= UCLASS_BLK,
+	.ops		= &ide_blk_ops,
+};
+#else
+U_BOOT_LEGACY_BLK(ide) = {
+	.if_typename	= "ide",
+	.if_type	= IF_TYPE_IDE,
+	.max_devs	= CONFIG_SYS_IDE_MAXDEVICE,
+	.desc		= ide_dev_desc,
+};
+#endif
diff --git a/common/image-fit.c b/common/image-fit.c
index 25f8a11..9873957 100644
--- a/common/image-fit.c
+++ b/common/image-fit.c
@@ -422,7 +422,8 @@
 	}
 
 	if ((type == IH_TYPE_KERNEL) || (type == IH_TYPE_STANDALONE) ||
-	    (type == IH_TYPE_FIRMWARE) || (type == IH_TYPE_RAMDISK)) {
+	    (type == IH_TYPE_FIRMWARE) || (type == IH_TYPE_RAMDISK) ||
+	    (type == IH_TYPE_FPGA)) {
 		ret = fit_image_get_load(fit, image_noffset, &load);
 		printf("%s  Load Address: ", p);
 		if (ret)
@@ -886,9 +887,9 @@
 	ret = fdt_setprop(fit, noffset, FIT_TIMESTAMP_PROP, &t,
 				sizeof(uint32_t));
 	if (ret) {
-		printf("Can't set '%s' property for '%s' node (%s)\n",
-		       FIT_TIMESTAMP_PROP, fit_get_name(fit, noffset, NULL),
-		       fdt_strerror(ret));
+		debug("Can't set '%s' property for '%s' node (%s)\n",
+		      FIT_TIMESTAMP_PROP, fit_get_name(fit, noffset, NULL),
+		      fdt_strerror(ret));
 		return ret == -FDT_ERR_NOSPACE ? -ENOSPC : -1;
 	}
 
@@ -1483,6 +1484,10 @@
 	if (uname)
 		printf("%s  FDT:          %s\n", p, uname);
 
+	uname = (char *)fdt_getprop(fit, noffset, FIT_FPGA_PROP, NULL);
+	if (uname)
+		printf("%s  FPGA:         %s\n", p, uname);
+
 	/* Print out all of the specified loadables */
 	for (loadables_index = 0;
 	     fdt_get_string_index(fit, noffset,
@@ -1567,6 +1572,8 @@
 		return FIT_SETUP_PROP;
 	case IH_TYPE_LOADABLE:
 		return FIT_LOADABLE_PROP;
+	case IH_TYPE_FPGA:
+		return FIT_FPGA_PROP;
 	}
 
 	return "unknown";
@@ -1681,7 +1688,7 @@
 			fit_image_check_type(fit, noffset,
 					     IH_TYPE_KERNEL_NOLOAD));
 
-	os_ok = image_type == IH_TYPE_FLATDT ||
+	os_ok = image_type == IH_TYPE_FLATDT || IH_TYPE_FPGA ||
 		fit_image_check_os(fit, noffset, IH_OS_LINUX) ||
 		fit_image_check_os(fit, noffset, IH_OS_OPENRTOS);
 
diff --git a/common/image.c b/common/image.c
index 26d6c9a..0be09e5 100644
--- a/common/image.c
+++ b/common/image.c
@@ -32,6 +32,8 @@
 #if IMAGE_ENABLE_FIT || IMAGE_ENABLE_OF_LIBFDT
 #include <libfdt.h>
 #include <fdt_support.h>
+#include <fpga.h>
+#include <xilinx.h>
 #endif
 
 #include <u-boot/md5.h>
@@ -159,6 +161,8 @@
 	{	IH_TYPE_RKSD,       "rksd",       "Rockchip SD Boot Image" },
 	{	IH_TYPE_RKSPI,      "rkspi",      "Rockchip SPI Boot Image" },
 	{	IH_TYPE_ZYNQIMAGE,  "zynqimage",  "Xilinx Zynq Boot Image" },
+	{	IH_TYPE_ZYNQMPIMAGE, "zynqmpimage", "Xilinx ZynqMP Boot Image" },
+	{	IH_TYPE_FPGA,       "fpga",       "FPGA Image" },
 	{	-1,		    "",		  "",			},
 };
 
@@ -1210,6 +1214,96 @@
 }
 
 #if IMAGE_ENABLE_FIT
+#if defined(CONFIG_FPGA) && defined(CONFIG_FPGA_XILINX)
+int boot_get_fpga(int argc, char * const argv[], bootm_headers_t *images,
+		  uint8_t arch, const ulong *ld_start, ulong * const ld_len)
+{
+	ulong tmp_img_addr, img_data, img_len;
+	void *buf;
+	int conf_noffset;
+	int fit_img_result;
+	char *uname, *name;
+	int err;
+	int devnum = 0; /* TODO support multi fpga platforms */
+	const fpga_desc * const desc = fpga_get_desc(devnum);
+	xilinx_desc *desc_xilinx = desc->devdesc;
+
+	/* Check to see if the images struct has a FIT configuration */
+	if (!genimg_has_config(images)) {
+		debug("## FIT configuration was not specified\n");
+		return 0;
+	}
+
+	/*
+	 * Obtain the os FIT header from the images struct
+	 * copy from dataflash if needed
+	 */
+	tmp_img_addr = map_to_sysmem(images->fit_hdr_os);
+	tmp_img_addr = genimg_get_image(tmp_img_addr);
+	buf = map_sysmem(tmp_img_addr, 0);
+	/*
+	 * Check image type. For FIT images get FIT node
+	 * and attempt to locate a generic binary.
+	 */
+	switch (genimg_get_format(buf)) {
+	case IMAGE_FORMAT_FIT:
+		conf_noffset = fit_conf_get_node(buf, images->fit_uname_cfg);
+
+		err = fdt_get_string_index(buf, conf_noffset, FIT_FPGA_PROP, 0,
+					   (const char **)&uname);
+		if (err < 0) {
+			debug("## FPGA image is not specified\n");
+			return 0;
+		}
+		fit_img_result = fit_image_load(images,
+						tmp_img_addr,
+						(const char **)&uname,
+						&(images->fit_uname_cfg),
+						arch,
+						IH_TYPE_FPGA,
+						BOOTSTAGE_ID_FPGA_INIT,
+						FIT_LOAD_OPTIONAL_NON_ZERO,
+						&img_data, &img_len);
+
+		debug("FPGA image (%s) loaded to 0x%lx/size 0x%lx\n",
+		      uname, img_data, img_len);
+
+		if (fit_img_result < 0) {
+			/* Something went wrong! */
+			return fit_img_result;
+		}
+
+		if (img_len >= desc_xilinx->size) {
+			name = "full";
+			err = fpga_loadbitstream(devnum, (char *)img_data,
+						 img_len, BIT_FULL);
+			if (err)
+				err = fpga_load(devnum, (const void *)img_data,
+						img_len, BIT_FULL);
+		} else {
+			name = "partial";
+			err = fpga_loadbitstream(devnum, (char *)img_data,
+						 img_len, BIT_PARTIAL);
+			if (err)
+				err = fpga_load(devnum, (const void *)img_data,
+						img_len, BIT_PARTIAL);
+		}
+
+		printf("   Programming %s bitstream... ", name);
+		if (err)
+			printf("failed\n");
+		else
+			printf("OK\n");
+		break;
+	default:
+		printf("The given image format is not supported (corrupt?)\n");
+		return 1;
+	}
+
+	return 0;
+}
+#endif
+
 int boot_get_loadable(int argc, char * const argv[], bootm_headers_t *images,
 		uint8_t arch, const ulong *ld_start, ulong * const ld_len)
 {
diff --git a/common/sata.c b/common/sata.c
new file mode 100644
index 0000000..88f08c9
--- /dev/null
+++ b/common/sata.c
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2000-2005, DENX Software Engineering
+ *		Wolfgang Denk <wd@denx.de>
+ * Copyright (C) Procsys. All rights reserved.
+ *		Mushtaq Khan <mushtaq_k@procsys.com>
+ *			<mushtaqk_921@yahoo.co.in>
+ * Copyright (C) 2008 Freescale Semiconductor, Inc.
+ *		Dave Liu <daveliu@freescale.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <sata.h>
+
+struct blk_desc sata_dev_desc[CONFIG_SYS_SATA_MAX_DEVICE];
+
+#ifdef CONFIG_PARTITIONS
+struct blk_desc *sata_get_dev(int dev)
+{
+	return (dev < CONFIG_SYS_SATA_MAX_DEVICE) ? &sata_dev_desc[dev] : NULL;
+}
+#endif
+
+#ifdef CONFIG_BLK
+static unsigned long sata_bread(struct udevice *dev, lbaint_t start,
+				lbaint_t blkcnt, void *dst)
+{
+	return -ENOSYS;
+}
+
+static unsigned long sata_bwrite(struct udevice *dev, lbaint_t start,
+				 lbaint_t blkcnt, const void *buffer)
+{
+	return -ENOSYS;
+}
+#else
+static unsigned long sata_bread(struct blk_desc *block_dev, lbaint_t start,
+				lbaint_t blkcnt, void *dst)
+{
+	return sata_read(block_dev->devnum, start, blkcnt, dst);
+}
+
+static unsigned long sata_bwrite(struct blk_desc *block_dev, lbaint_t start,
+				 lbaint_t blkcnt, const void *buffer)
+{
+	return sata_write(block_dev->devnum, start, blkcnt, buffer);
+}
+#endif
+
+int __sata_initialize(void)
+{
+	int rc;
+	int i;
+
+	for (i = 0; i < CONFIG_SYS_SATA_MAX_DEVICE; i++) {
+		memset(&sata_dev_desc[i], 0, sizeof(struct blk_desc));
+		sata_dev_desc[i].if_type = IF_TYPE_SATA;
+		sata_dev_desc[i].devnum = i;
+		sata_dev_desc[i].part_type = PART_TYPE_UNKNOWN;
+		sata_dev_desc[i].type = DEV_TYPE_HARDDISK;
+		sata_dev_desc[i].lba = 0;
+		sata_dev_desc[i].blksz = 512;
+		sata_dev_desc[i].log2blksz = LOG2(sata_dev_desc[i].blksz);
+#ifndef CONFIG_BLK
+		sata_dev_desc[i].block_read = sata_bread;
+		sata_dev_desc[i].block_write = sata_bwrite;
+#endif
+		rc = init_sata(i);
+		if (!rc) {
+			rc = scan_sata(i);
+			if (!rc && sata_dev_desc[i].lba > 0 &&
+			    sata_dev_desc[i].blksz > 0)
+				part_init(&sata_dev_desc[i]);
+		}
+	}
+
+	return rc;
+}
+int sata_initialize(void) __attribute__((weak, alias("__sata_initialize")));
+
+__weak int __sata_stop(void)
+{
+	int i, err = 0;
+
+	for (i = 0; i < CONFIG_SYS_SATA_MAX_DEVICE; i++)
+		err |= reset_sata(i);
+
+	if (err)
+		printf("Could not reset some SATA devices\n");
+
+	return err;
+}
+int sata_stop(void) __attribute__((weak, alias("__sata_stop")));
+
+#ifdef CONFIG_BLK
+static const struct blk_ops sata_blk_ops = {
+	.read	= sata_bread,
+	.write	= sata_bwrite,
+};
+
+U_BOOT_DRIVER(sata_blk) = {
+	.name		= "sata_blk",
+	.id		= UCLASS_BLK,
+	.ops		= &sata_blk_ops,
+};
+#else
+U_BOOT_LEGACY_BLK(sata) = {
+	.if_typename	= "sata",
+	.if_type	= IF_TYPE_SATA,
+	.max_devs	= CONFIG_SYS_SATA_MAX_DEVICE,
+	.desc		= sata_dev_desc,
+};
+#endif
diff --git a/common/scsi.c b/common/scsi.c
new file mode 100644
index 0000000..8ac28dd
--- /dev/null
+++ b/common/scsi.c
@@ -0,0 +1,592 @@
+/*
+ * (C) Copyright 2001
+ * Denis Peter, MPL AG Switzerland
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <inttypes.h>
+#include <pci.h>
+#include <scsi.h>
+
+#ifdef CONFIG_SCSI_DEV_LIST
+#define SCSI_DEV_LIST CONFIG_SCSI_DEV_LIST
+#else
+#ifdef CONFIG_SCSI_SYM53C8XX
+#define SCSI_VEND_ID	0x1000
+#ifndef CONFIG_SCSI_DEV_ID
+#define SCSI_DEV_ID		0x0001
+#else
+#define SCSI_DEV_ID		CONFIG_SCSI_DEV_ID
+#endif
+#elif defined CONFIG_SATA_ULI5288
+
+#define SCSI_VEND_ID 0x10b9
+#define SCSI_DEV_ID  0x5288
+
+#elif !defined(CONFIG_SCSI_AHCI_PLAT)
+#error no scsi device defined
+#endif
+#define SCSI_DEV_LIST {SCSI_VEND_ID, SCSI_DEV_ID}
+#endif
+
+#if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT)
+const struct pci_device_id scsi_device_list[] = { SCSI_DEV_LIST };
+#endif
+static ccb tempccb;	/* temporary scsi command buffer */
+
+static unsigned char tempbuff[512]; /* temporary data buffer */
+
+static int scsi_max_devs; /* number of highest available scsi device */
+
+static int scsi_curr_dev; /* current device */
+
+static struct blk_desc scsi_dev_desc[CONFIG_SYS_SCSI_MAX_DEVICE];
+
+/* almost the maximum amount of the scsi_ext command.. */
+#define SCSI_MAX_READ_BLK 0xFFFF
+#define SCSI_LBA48_READ	0xFFFFFFF
+
+#ifdef CONFIG_SYS_64BIT_LBA
+void scsi_setup_read16(ccb *pccb, lbaint_t start, unsigned long blocks)
+{
+	pccb->cmd[0] = SCSI_READ16;
+	pccb->cmd[1] = pccb->lun << 5;
+	pccb->cmd[2] = (unsigned char)(start >> 56) & 0xff;
+	pccb->cmd[3] = (unsigned char)(start >> 48) & 0xff;
+	pccb->cmd[4] = (unsigned char)(start >> 40) & 0xff;
+	pccb->cmd[5] = (unsigned char)(start >> 32) & 0xff;
+	pccb->cmd[6] = (unsigned char)(start >> 24) & 0xff;
+	pccb->cmd[7] = (unsigned char)(start >> 16) & 0xff;
+	pccb->cmd[8] = (unsigned char)(start >> 8) & 0xff;
+	pccb->cmd[9] = (unsigned char)start & 0xff;
+	pccb->cmd[10] = 0;
+	pccb->cmd[11] = (unsigned char)(blocks >> 24) & 0xff;
+	pccb->cmd[12] = (unsigned char)(blocks >> 16) & 0xff;
+	pccb->cmd[13] = (unsigned char)(blocks >> 8) & 0xff;
+	pccb->cmd[14] = (unsigned char)blocks & 0xff;
+	pccb->cmd[15] = 0;
+	pccb->cmdlen = 16;
+	pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
+	debug("scsi_setup_read16: cmd: %02X %02X startblk %02X%02X%02X%02X%02X%02X%02X%02X blccnt %02X%02X%02X%02X\n",
+	      pccb->cmd[0], pccb->cmd[1],
+	      pccb->cmd[2], pccb->cmd[3], pccb->cmd[4], pccb->cmd[5],
+	      pccb->cmd[6], pccb->cmd[7], pccb->cmd[8], pccb->cmd[9],
+	      pccb->cmd[11], pccb->cmd[12], pccb->cmd[13], pccb->cmd[14]);
+}
+#endif
+
+void scsi_setup_read_ext(ccb *pccb, lbaint_t start, unsigned short blocks)
+{
+	pccb->cmd[0] = SCSI_READ10;
+	pccb->cmd[1] = pccb->lun << 5;
+	pccb->cmd[2] = (unsigned char)(start >> 24) & 0xff;
+	pccb->cmd[3] = (unsigned char)(start >> 16) & 0xff;
+	pccb->cmd[4] = (unsigned char)(start >> 8) & 0xff;
+	pccb->cmd[5] = (unsigned char)start & 0xff;
+	pccb->cmd[6] = 0;
+	pccb->cmd[7] = (unsigned char)(blocks >> 8) & 0xff;
+	pccb->cmd[8] = (unsigned char)blocks & 0xff;
+	pccb->cmd[6] = 0;
+	pccb->cmdlen = 10;
+	pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
+	debug("scsi_setup_read_ext: cmd: %02X %02X startblk %02X%02X%02X%02X blccnt %02X%02X\n",
+	      pccb->cmd[0], pccb->cmd[1],
+	      pccb->cmd[2], pccb->cmd[3], pccb->cmd[4], pccb->cmd[5],
+	      pccb->cmd[7], pccb->cmd[8]);
+}
+
+void scsi_setup_write_ext(ccb *pccb, lbaint_t start, unsigned short blocks)
+{
+	pccb->cmd[0] = SCSI_WRITE10;
+	pccb->cmd[1] = pccb->lun << 5;
+	pccb->cmd[2] = (unsigned char)(start >> 24) & 0xff;
+	pccb->cmd[3] = (unsigned char)(start >> 16) & 0xff;
+	pccb->cmd[4] = (unsigned char)(start >> 8) & 0xff;
+	pccb->cmd[5] = (unsigned char)start & 0xff;
+	pccb->cmd[6] = 0;
+	pccb->cmd[7] = ((unsigned char)(blocks >> 8)) & 0xff;
+	pccb->cmd[8] = (unsigned char)blocks & 0xff;
+	pccb->cmd[9] = 0;
+	pccb->cmdlen = 10;
+	pccb->msgout[0] = SCSI_IDENTIFY;  /* NOT USED */
+	debug("%s: cmd: %02X %02X startblk %02X%02X%02X%02X blccnt %02X%02X\n",
+	      __func__,
+	      pccb->cmd[0], pccb->cmd[1],
+	      pccb->cmd[2], pccb->cmd[3], pccb->cmd[4], pccb->cmd[5],
+	      pccb->cmd[7], pccb->cmd[8]);
+}
+
+void scsi_setup_read6(ccb *pccb, lbaint_t start, unsigned short blocks)
+{
+	pccb->cmd[0] = SCSI_READ6;
+	pccb->cmd[1] = pccb->lun << 5 | ((unsigned char)(start >> 16) & 0x1f);
+	pccb->cmd[2] = (unsigned char)(start >> 8) & 0xff;
+	pccb->cmd[3] = (unsigned char)start & 0xff;
+	pccb->cmd[4] = (unsigned char)blocks & 0xff;
+	pccb->cmd[5] = 0;
+	pccb->cmdlen = 6;
+	pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
+	debug("scsi_setup_read6: cmd: %02X %02X startblk %02X%02X blccnt %02X\n",
+	      pccb->cmd[0], pccb->cmd[1],
+	      pccb->cmd[2], pccb->cmd[3], pccb->cmd[4]);
+}
+
+
+void scsi_setup_inquiry(ccb *pccb)
+{
+	pccb->cmd[0] = SCSI_INQUIRY;
+	pccb->cmd[1] = pccb->lun << 5;
+	pccb->cmd[2] = 0;
+	pccb->cmd[3] = 0;
+	if (pccb->datalen > 255)
+		pccb->cmd[4] = 255;
+	else
+		pccb->cmd[4] = (unsigned char)pccb->datalen;
+	pccb->cmd[5] = 0;
+	pccb->cmdlen = 6;
+	pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
+}
+
+#ifdef CONFIG_BLK
+static ulong scsi_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
+		       void *buffer)
+#else
+static ulong scsi_read(struct blk_desc *block_dev, lbaint_t blknr,
+		       lbaint_t blkcnt, void *buffer)
+#endif
+{
+#ifdef CONFIG_BLK
+	struct blk_desc *block_dev = dev_get_uclass_platdata(dev);
+#endif
+	int device = block_dev->devnum;
+	lbaint_t start, blks;
+	uintptr_t buf_addr;
+	unsigned short smallblks = 0;
+	ccb *pccb = (ccb *)&tempccb;
+	device &= 0xff;
+
+	/* Setup device */
+	pccb->target = scsi_dev_desc[device].target;
+	pccb->lun = scsi_dev_desc[device].lun;
+	buf_addr = (unsigned long)buffer;
+	start = blknr;
+	blks = blkcnt;
+	debug("\nscsi_read: dev %d startblk " LBAF
+	      ", blccnt " LBAF " buffer %lx\n",
+	      device, start, blks, (unsigned long)buffer);
+	do {
+		pccb->pdata = (unsigned char *)buf_addr;
+#ifdef CONFIG_SYS_64BIT_LBA
+		if (start > SCSI_LBA48_READ) {
+			unsigned long blocks;
+			blocks = min_t(lbaint_t, blks, SCSI_MAX_READ_BLK);
+			pccb->datalen = scsi_dev_desc[device].blksz * blocks;
+			scsi_setup_read16(pccb, start, blocks);
+			start += blocks;
+			blks -= blocks;
+		} else
+#endif
+		if (blks > SCSI_MAX_READ_BLK) {
+			pccb->datalen = scsi_dev_desc[device].blksz *
+				SCSI_MAX_READ_BLK;
+			smallblks = SCSI_MAX_READ_BLK;
+			scsi_setup_read_ext(pccb, start, smallblks);
+			start += SCSI_MAX_READ_BLK;
+			blks -= SCSI_MAX_READ_BLK;
+		} else {
+			pccb->datalen = scsi_dev_desc[device].blksz * blks;
+			smallblks = (unsigned short)blks;
+			scsi_setup_read_ext(pccb, start, smallblks);
+			start += blks;
+			blks = 0;
+		}
+		debug("scsi_read_ext: startblk " LBAF
+		      ", blccnt %x buffer %" PRIXPTR "\n",
+		      start, smallblks, buf_addr);
+		if (scsi_exec(pccb) != true) {
+			scsi_print_error(pccb);
+			blkcnt -= blks;
+			break;
+		}
+		buf_addr += pccb->datalen;
+	} while (blks != 0);
+	debug("scsi_read_ext: end startblk " LBAF
+	      ", blccnt %x buffer %" PRIXPTR "\n", start, smallblks, buf_addr);
+	return blkcnt;
+}
+
+/*******************************************************************************
+ * scsi_write
+ */
+
+/* Almost the maximum amount of the scsi_ext command.. */
+#define SCSI_MAX_WRITE_BLK 0xFFFF
+
+#ifdef CONFIG_BLK
+static ulong scsi_write(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
+			const void *buffer)
+#else
+static ulong scsi_write(struct blk_desc *block_dev, lbaint_t blknr,
+			lbaint_t blkcnt, const void *buffer)
+#endif
+{
+#ifdef CONFIG_BLK
+	struct blk_desc *block_dev = dev_get_uclass_platdata(dev);
+#endif
+	int device = block_dev->devnum;
+	lbaint_t start, blks;
+	uintptr_t buf_addr;
+	unsigned short smallblks;
+	ccb *pccb = (ccb *)&tempccb;
+
+	device &= 0xff;
+
+	/* Setup device */
+	pccb->target = scsi_dev_desc[device].target;
+	pccb->lun = scsi_dev_desc[device].lun;
+	buf_addr = (unsigned long)buffer;
+	start = blknr;
+	blks = blkcnt;
+	debug("\n%s: dev %d startblk " LBAF ", blccnt " LBAF " buffer %lx\n",
+	      __func__, device, start, blks, (unsigned long)buffer);
+	do {
+		pccb->pdata = (unsigned char *)buf_addr;
+		if (blks > SCSI_MAX_WRITE_BLK) {
+			pccb->datalen = (scsi_dev_desc[device].blksz *
+					 SCSI_MAX_WRITE_BLK);
+			smallblks = SCSI_MAX_WRITE_BLK;
+			scsi_setup_write_ext(pccb, start, smallblks);
+			start += SCSI_MAX_WRITE_BLK;
+			blks -= SCSI_MAX_WRITE_BLK;
+		} else {
+			pccb->datalen = scsi_dev_desc[device].blksz * blks;
+			smallblks = (unsigned short)blks;
+			scsi_setup_write_ext(pccb, start, smallblks);
+			start += blks;
+			blks = 0;
+		}
+		debug("%s: startblk " LBAF ", blccnt %x buffer %" PRIXPTR "\n",
+		      __func__, start, smallblks, buf_addr);
+		if (scsi_exec(pccb) != true) {
+			scsi_print_error(pccb);
+			blkcnt -= blks;
+			break;
+		}
+		buf_addr += pccb->datalen;
+	} while (blks != 0);
+	debug("%s: end startblk " LBAF ", blccnt %x buffer %" PRIXPTR "\n",
+	      __func__, start, smallblks, buf_addr);
+	return blkcnt;
+}
+
+int scsi_get_disk_count(void)
+{
+	return scsi_max_devs;
+}
+
+#if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT)
+void scsi_init(void)
+{
+	int busdevfunc = -1;
+	int i;
+	/*
+	 * Find a device from the list, this driver will support a single
+	 * controller.
+	 */
+	for (i = 0; i < ARRAY_SIZE(scsi_device_list); i++) {
+		/* get PCI Device ID */
+#ifdef CONFIG_DM_PCI
+		struct udevice *dev;
+		int ret;
+
+		ret = dm_pci_find_device(scsi_device_list[i].vendor,
+					 scsi_device_list[i].device, 0, &dev);
+		if (!ret) {
+			busdevfunc = dm_pci_get_bdf(dev);
+			break;
+		}
+#else
+		busdevfunc = pci_find_device(scsi_device_list[i].vendor,
+					     scsi_device_list[i].device,
+					     0);
+#endif
+		if (busdevfunc != -1)
+			break;
+	}
+
+	if (busdevfunc == -1) {
+		printf("Error: SCSI Controller(s) ");
+		for (i = 0; i < ARRAY_SIZE(scsi_device_list); i++) {
+			printf("%04X:%04X ",
+			       scsi_device_list[i].vendor,
+			       scsi_device_list[i].device);
+		}
+		printf("not found\n");
+		return;
+	}
+#ifdef DEBUG
+	else {
+		printf("SCSI Controller (%04X,%04X) found (%d:%d:%d)\n",
+		       scsi_device_list[i].vendor,
+		       scsi_device_list[i].device,
+		       (busdevfunc >> 16) & 0xFF,
+		       (busdevfunc >> 11) & 0x1F,
+		       (busdevfunc >> 8) & 0x7);
+	}
+#endif
+	bootstage_start(BOOTSTAGE_ID_ACCUM_SCSI, "ahci");
+	scsi_low_level_init(busdevfunc);
+	scsi_scan(1);
+	bootstage_accum(BOOTSTAGE_ID_ACCUM_SCSI);
+}
+#endif
+
+/* copy src to dest, skipping leading and trailing blanks
+ * and null terminate the string
+ */
+void scsi_ident_cpy(unsigned char *dest, unsigned char *src, unsigned int len)
+{
+	int start, end;
+
+	start = 0;
+	while (start < len) {
+		if (src[start] != ' ')
+			break;
+		start++;
+	}
+	end = len-1;
+	while (end > start) {
+		if (src[end] != ' ')
+			break;
+		end--;
+	}
+	for (; start <= end; start++)
+		*dest ++= src[start];
+	*dest = '\0';
+}
+
+
+/* Trim trailing blanks, and NUL-terminate string
+ */
+void scsi_trim_trail(unsigned char *str, unsigned int len)
+{
+	unsigned char *p = str + len - 1;
+
+	while (len-- > 0) {
+		*p-- = '\0';
+		if (*p != ' ')
+			return;
+	}
+}
+
+int scsi_read_capacity(ccb *pccb, lbaint_t *capacity, unsigned long *blksz)
+{
+	*capacity = 0;
+
+	memset(pccb->cmd, '\0', sizeof(pccb->cmd));
+	pccb->cmd[0] = SCSI_RD_CAPAC10;
+	pccb->cmd[1] = pccb->lun << 5;
+	pccb->cmdlen = 10;
+	pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
+
+	pccb->datalen = 8;
+	if (scsi_exec(pccb) != true)
+		return 1;
+
+	*capacity = ((lbaint_t)pccb->pdata[0] << 24) |
+		    ((lbaint_t)pccb->pdata[1] << 16) |
+		    ((lbaint_t)pccb->pdata[2] << 8)  |
+		    ((lbaint_t)pccb->pdata[3]);
+
+	if (*capacity != 0xffffffff) {
+		/* Read capacity (10) was sufficient for this drive. */
+		*blksz = ((unsigned long)pccb->pdata[4] << 24) |
+			 ((unsigned long)pccb->pdata[5] << 16) |
+			 ((unsigned long)pccb->pdata[6] << 8)  |
+			 ((unsigned long)pccb->pdata[7]);
+		return 0;
+	}
+
+	/* Read capacity (10) was insufficient. Use read capacity (16). */
+	memset(pccb->cmd, '\0', sizeof(pccb->cmd));
+	pccb->cmd[0] = SCSI_RD_CAPAC16;
+	pccb->cmd[1] = 0x10;
+	pccb->cmdlen = 16;
+	pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
+
+	pccb->datalen = 16;
+	if (scsi_exec(pccb) != true)
+		return 1;
+
+	*capacity = ((uint64_t)pccb->pdata[0] << 56) |
+		    ((uint64_t)pccb->pdata[1] << 48) |
+		    ((uint64_t)pccb->pdata[2] << 40) |
+		    ((uint64_t)pccb->pdata[3] << 32) |
+		    ((uint64_t)pccb->pdata[4] << 24) |
+		    ((uint64_t)pccb->pdata[5] << 16) |
+		    ((uint64_t)pccb->pdata[6] << 8)  |
+		    ((uint64_t)pccb->pdata[7]);
+
+	*blksz = ((uint64_t)pccb->pdata[8]  << 56) |
+		 ((uint64_t)pccb->pdata[9]  << 48) |
+		 ((uint64_t)pccb->pdata[10] << 40) |
+		 ((uint64_t)pccb->pdata[11] << 32) |
+		 ((uint64_t)pccb->pdata[12] << 24) |
+		 ((uint64_t)pccb->pdata[13] << 16) |
+		 ((uint64_t)pccb->pdata[14] << 8)  |
+		 ((uint64_t)pccb->pdata[15]);
+
+	return 0;
+}
+
+
+/*
+ * Some setup (fill-in) routines
+ */
+void scsi_setup_test_unit_ready(ccb *pccb)
+{
+	pccb->cmd[0] = SCSI_TST_U_RDY;
+	pccb->cmd[1] = pccb->lun << 5;
+	pccb->cmd[2] = 0;
+	pccb->cmd[3] = 0;
+	pccb->cmd[4] = 0;
+	pccb->cmd[5] = 0;
+	pccb->cmdlen = 6;
+	pccb->msgout[0] = SCSI_IDENTIFY; /* NOT USED */
+}
+
+/*
+ * (re)-scan the scsi bus and reports scsi device info
+ * to the user if mode = 1
+ */
+void scsi_scan(int mode)
+{
+	unsigned char i, perq, modi, lun;
+	lbaint_t capacity;
+	unsigned long blksz;
+	ccb *pccb = (ccb *)&tempccb;
+
+	if (mode == 1)
+		printf("scanning bus for devices...\n");
+	for (i = 0; i < CONFIG_SYS_SCSI_MAX_DEVICE; i++) {
+		scsi_dev_desc[i].target = 0xff;
+		scsi_dev_desc[i].lun = 0xff;
+		scsi_dev_desc[i].lba = 0;
+		scsi_dev_desc[i].blksz = 0;
+		scsi_dev_desc[i].log2blksz =
+			LOG2_INVALID(typeof(scsi_dev_desc[i].log2blksz));
+		scsi_dev_desc[i].type = DEV_TYPE_UNKNOWN;
+		scsi_dev_desc[i].vendor[0] = 0;
+		scsi_dev_desc[i].product[0] = 0;
+		scsi_dev_desc[i].revision[0] = 0;
+		scsi_dev_desc[i].removable = false;
+		scsi_dev_desc[i].if_type = IF_TYPE_SCSI;
+		scsi_dev_desc[i].devnum = i;
+		scsi_dev_desc[i].part_type = PART_TYPE_UNKNOWN;
+#ifndef CONFIG_BLK
+		scsi_dev_desc[i].block_read = scsi_read;
+		scsi_dev_desc[i].block_write = scsi_write;
+#endif
+	}
+	scsi_max_devs = 0;
+	for (i = 0; i < CONFIG_SYS_SCSI_MAX_SCSI_ID; i++) {
+		pccb->target = i;
+		for (lun = 0; lun < CONFIG_SYS_SCSI_MAX_LUN; lun++) {
+			pccb->lun = lun;
+			pccb->pdata = (unsigned char *)&tempbuff;
+			pccb->datalen = 512;
+			scsi_setup_inquiry(pccb);
+			if (scsi_exec(pccb) != true) {
+				if (pccb->contr_stat == SCSI_SEL_TIME_OUT) {
+					/*
+					 * selection timeout => assuming no
+					 * device present
+					 */
+					debug("Selection timeout ID %d\n",
+					      pccb->target);
+					continue;
+				}
+				scsi_print_error(pccb);
+				continue;
+			}
+			perq = tempbuff[0];
+			modi = tempbuff[1];
+			if ((perq & 0x1f) == 0x1f)
+				continue; /* skip unknown devices */
+			if ((modi & 0x80) == 0x80) /* drive is removable */
+				scsi_dev_desc[scsi_max_devs].removable = true;
+			/* get info for this device */
+			scsi_ident_cpy((unsigned char *)&scsi_dev_desc
+						[scsi_max_devs].vendor[0],
+				       &tempbuff[8], 8);
+			scsi_ident_cpy((unsigned char *)&scsi_dev_desc
+						[scsi_max_devs].product[0],
+				       &tempbuff[16], 16);
+			scsi_ident_cpy((unsigned char *)&scsi_dev_desc
+						[scsi_max_devs].revision[0],
+				       &tempbuff[32], 4);
+			scsi_dev_desc[scsi_max_devs].target = pccb->target;
+			scsi_dev_desc[scsi_max_devs].lun = pccb->lun;
+
+			pccb->datalen = 0;
+			scsi_setup_test_unit_ready(pccb);
+			if (scsi_exec(pccb) != true) {
+				if (scsi_dev_desc[scsi_max_devs].removable) {
+					scsi_dev_desc[scsi_max_devs].type =
+							perq;
+					goto removable;
+				}
+				scsi_print_error(pccb);
+				continue;
+			}
+			if (scsi_read_capacity(pccb, &capacity, &blksz)) {
+				scsi_print_error(pccb);
+				continue;
+			}
+			scsi_dev_desc[scsi_max_devs].lba = capacity;
+			scsi_dev_desc[scsi_max_devs].blksz = blksz;
+			scsi_dev_desc[scsi_max_devs].log2blksz =
+				LOG2(scsi_dev_desc[scsi_max_devs].blksz);
+			scsi_dev_desc[scsi_max_devs].type = perq;
+			part_init(&scsi_dev_desc[scsi_max_devs]);
+removable:
+			if (mode == 1) {
+				printf("  Device %d: ", scsi_max_devs);
+				dev_print(&scsi_dev_desc[scsi_max_devs]);
+			} /* if mode */
+			scsi_max_devs++;
+		} /* next LUN */
+	}
+	if (scsi_max_devs > 0)
+		scsi_curr_dev = 0;
+	else
+		scsi_curr_dev = -1;
+
+	printf("Found %d device(s).\n", scsi_max_devs);
+#ifndef CONFIG_SPL_BUILD
+	setenv_ulong("scsidevs", scsi_max_devs);
+#endif
+}
+
+#ifdef CONFIG_BLK
+static const struct blk_ops scsi_blk_ops = {
+	.read	= scsi_read,
+	.write	= scsi_write,
+};
+
+U_BOOT_DRIVER(scsi_blk) = {
+	.name		= "scsi_blk",
+	.id		= UCLASS_BLK,
+	.ops		= &scsi_blk_ops,
+};
+#else
+U_BOOT_LEGACY_BLK(scsi) = {
+	.if_typename	= "sata",
+	.if_type	= IF_TYPE_SCSI,
+	.max_devs	= CONFIG_SYS_SCSI_MAX_DEVICE,
+	.desc		= scsi_dev_desc,
+};
+#endif
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 82e7f58..bdde716 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -64,6 +64,11 @@
 	/* Nothing to do! */
 }
 
+__weak void spl_board_prepare_for_boot(void)
+{
+	/* Nothing to do! */
+}
+
 void spl_set_header_raw_uboot(void)
 {
 	spl_image.size = CONFIG_SYS_MONITOR_LEN;
@@ -73,7 +78,7 @@
 	spl_image.name = "U-Boot";
 }
 
-void spl_parse_image_header(const struct image_header *header)
+int spl_parse_image_header(const struct image_header *header)
 {
 	u32 header_size = sizeof(struct image_header);
 
@@ -111,6 +116,9 @@
 		 * is bad, and thus should be skipped silently.
 		 */
 		panic("** no mkimage signature but raw image not supported");
+#elif defined(CONFIG_SPL_ABORT_ON_RAW_IMAGE)
+		/* Signature not found, proceed to other boot methods. */
+		return -EINVAL;
 #else
 		/* Signature not found - assume u-boot.bin */
 		debug("mkimage signature not found - ih_magic = %x\n",
@@ -118,6 +126,7 @@
 		spl_set_header_raw_uboot();
 #endif
 	}
+	return 0;
 }
 
 __weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
@@ -131,20 +140,47 @@
 	image_entry();
 }
 
+#ifndef CONFIG_SPL_LOAD_FIT_ADDRESS
+# define CONFIG_SPL_LOAD_FIT_ADDRESS	0
+#endif
+
 #ifdef CONFIG_SPL_RAM_DEVICE
+static ulong spl_ram_load_read(struct spl_load_info *load, ulong sector,
+			       ulong count, void *buf)
+{
+	debug("%s: sector %lx, count %lx, buf %lx\n",
+	      __func__, sector, count, (ulong)buf);
+	memcpy(buf, (void *)(CONFIG_SPL_LOAD_FIT_ADDRESS + sector), count);
+	return count;
+}
+
 static int spl_ram_load_image(void)
 {
-	const struct image_header *header;
+	struct image_header *header;
 
-	/*
-	 * Get the header.  It will point to an address defined by handoff
-	 * which will tell where the image located inside the flash. For
-	 * now, it will temporary fixed to address pointed by U-Boot.
-	 */
-	header = (struct image_header *)
-		(CONFIG_SYS_TEXT_BASE -	sizeof(struct image_header));
+	header = (struct image_header *)CONFIG_SPL_LOAD_FIT_ADDRESS;
 
-	spl_parse_image_header(header);
+	if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
+	    image_get_magic(header) == FDT_MAGIC) {
+		struct spl_load_info load;
+
+		debug("Found FIT\n");
+		load.bl_len = 1;
+		load.read = spl_ram_load_read;
+		spl_load_simple_fit(&load, 0, header);
+	} else {
+		debug("Legacy image\n");
+		/*
+		 * Get the header.  It will point to an address defined by
+		 * handoff which will tell where the image located inside
+		 * the flash. For now, it will temporary fixed to address
+		 * pointed by U-Boot.
+		 */
+		header = (struct image_header *)
+			(CONFIG_SYS_TEXT_BASE -	sizeof(struct image_header));
+
+		spl_parse_image_header(header);
+	}
 
 	return 0;
 }
@@ -400,6 +436,7 @@
 #endif
 
 	debug("loaded - jumping to U-Boot...");
+	spl_board_prepare_for_boot();
 	jump_to_image_no_args(&spl_image);
 }
 
diff --git a/common/spl/spl_ext.c b/common/spl/spl_ext.c
index b77dbf4..ade5496 100644
--- a/common/spl/spl_ext.c
+++ b/common/spl/spl_ext.c
@@ -48,7 +48,11 @@
 		goto end;
 	}
 
-	spl_parse_image_header(header);
+	err = spl_parse_image_header(header);
+	if (err < 0) {
+		puts("spl: ext4fs_read failed\n");
+		goto end;
+	}
 
 	err = ext4fs_read((char *)spl_image.load_addr, filelen, &actlen);
 
diff --git a/common/spl/spl_fat.c b/common/spl/spl_fat.c
index d761b26..5b0d969 100644
--- a/common/spl/spl_fat.c
+++ b/common/spl/spl_fat.c
@@ -57,7 +57,9 @@
 	if (err <= 0)
 		goto end;
 
-	spl_parse_image_header(header);
+	err = spl_parse_image_header(header);
+	if (err)
+		goto end;
 
 	err = file_fat_read(filename, (u8 *)spl_image.load_addr, 0);
 
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index 1a5c027..26842ba 100644
--- a/common/spl/spl_fit.c
+++ b/common/spl/spl_fit.c
@@ -39,8 +39,13 @@
 	     node >= 0;
 	     node = fdt_next_subnode(fdt, node)) {
 		name = fdt_getprop(fdt, node, "description", &len);
-		if (!name)
+		if (!name) {
+#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
+			printf("%s: Missing FDT description in DTB\n",
+			       __func__);
+#endif
 			return -EINVAL;
+		}
 		if (board_fit_config_name_match(name))
 			continue;
 
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
index 8d588d1..5676acd 100644
--- a/common/spl/spl_mmc.c
+++ b/common/spl/spl_mmc.c
@@ -23,8 +23,12 @@
 {
 	u32 image_size_sectors;
 	unsigned long count;
+	int ret;
 
-	spl_parse_image_header(header);
+	ret = spl_parse_image_header(header);
+	if (ret)
+		return ret;
+
 	/* convert size to sectors - round up */
 	image_size_sectors = (spl_image.size + mmc->read_bl_len - 1) /
 			     mmc->read_bl_len;
@@ -296,7 +300,7 @@
 			if (part == 7)
 				part = 0;
 
-			err = mmc_switch_part(0, part);
+			err = blk_dselect_hwpart(mmc_get_blk_desc(mmc), part);
 			if (err) {
 #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
 				puts("spl: mmc partition switch failed\n");
diff --git a/common/spl/spl_nand.c b/common/spl/spl_nand.c
index 79388ff..bbd9546 100644
--- a/common/spl/spl_nand.c
+++ b/common/spl/spl_nand.c
@@ -32,7 +32,10 @@
 	if (err)
 		return err;
 
-	spl_parse_image_header(header);
+	err = spl_parse_image_header(header);
+	if (err)
+		return err;
+
 	return nand_spl_load_image(offset, spl_image.size,
 				   (void *)(unsigned long)spl_image.load_addr);
 }
@@ -77,7 +80,9 @@
 		/* load linux */
 		nand_spl_load_image(CONFIG_SYS_NAND_SPL_KERNEL_OFFS,
 			sizeof(*header), (void *)header);
-		spl_parse_image_header(header);
+		err = spl_parse_image_header(header);
+		if (err)
+			return err;
 		if (header->ih_os == IH_OS_LINUX) {
 			/* happy - was a linux */
 			err = nand_spl_load_image(
diff --git a/common/spl/spl_net.c b/common/spl/spl_net.c
index 63b20d8..ae71d26 100644
--- a/common/spl/spl_net.c
+++ b/common/spl/spl_net.c
@@ -34,7 +34,5 @@
 		printf("Problem booting with BOOTP\n");
 		return rv;
 	}
-	spl_parse_image_header((struct image_header *)load_addr);
-
-	return 0;
+	return spl_parse_image_header((struct image_header *)load_addr);
 }
diff --git a/common/spl/spl_nor.c b/common/spl/spl_nor.c
index d0bd0b0..da2422f 100644
--- a/common/spl/spl_nor.c
+++ b/common/spl/spl_nor.c
@@ -9,6 +9,7 @@
 
 int spl_nor_load_image(void)
 {
+	int ret;
 	/*
 	 * Loading of the payload to SDRAM is done with skipping of
 	 * the mkimage header in this SPL NOR driver
@@ -28,7 +29,9 @@
 		if (image_get_os(header) == IH_OS_LINUX) {
 			/* happy - was a Linux */
 
-			spl_parse_image_header(header);
+			ret = spl_parse_image_header(header);
+			if (ret)
+				return ret;
 
 			memcpy((void *)spl_image.load_addr,
 			       (void *)(CONFIG_SYS_OS_BASE +
@@ -56,8 +59,10 @@
 	 * Load real U-Boot from its location in NOR flash to its
 	 * defined location in SDRAM
 	 */
-	spl_parse_image_header(
+	ret = spl_parse_image_header(
 			(const struct image_header *)CONFIG_SYS_UBOOT_BASE);
+	if (ret)
+		return ret;
 
 	memcpy((void *)(unsigned long)spl_image.load_addr,
 	       (void *)(CONFIG_SYS_UBOOT_BASE + sizeof(struct image_header)),
diff --git a/common/spl/spl_onenand.c b/common/spl/spl_onenand.c
index af7d82e..1a28a84 100644
--- a/common/spl/spl_onenand.c
+++ b/common/spl/spl_onenand.c
@@ -17,6 +17,7 @@
 int spl_onenand_load_image(void)
 {
 	struct image_header *header;
+	int ret;
 
 	debug("spl: onenand\n");
 
@@ -25,7 +26,9 @@
 	/* Load u-boot */
 	onenand_spl_load_image(CONFIG_SYS_ONENAND_U_BOOT_OFFS,
 		CONFIG_SYS_ONENAND_PAGE_SIZE, (void *)header);
-	spl_parse_image_header(header);
+	ret = spl_parse_image_header(header);
+	if (ret)
+		return ret;
 	onenand_spl_load_image(CONFIG_SYS_ONENAND_U_BOOT_OFFS,
 		spl_image.size, (void *)spl_image.load_addr);
 
diff --git a/common/spl/spl_sata.c b/common/spl/spl_sata.c
index 1719946..9d8cc7c 100644
--- a/common/spl/spl_sata.c
+++ b/common/spl/spl_sata.c
@@ -34,7 +34,7 @@
 	} else {
 		/* try to recognize storage devices immediately */
 		scsi_scan(0);
-		stor_dev = scsi_get_dev(0);
+		stor_dev = blk_get_devnum_by_type(IF_TYPE_SCSI, 0);
 		if (!stor_dev)
 			return -ENODEV;
 	}
diff --git a/common/spl/spl_usb.c b/common/spl/spl_usb.c
index c42848e..04fa667 100644
--- a/common/spl/spl_usb.c
+++ b/common/spl/spl_usb.c
@@ -39,7 +39,7 @@
 #ifdef CONFIG_USB_STORAGE
 	/* try to recognize storage devices immediately */
 	usb_stor_curr_dev = usb_stor_scan(1);
-	stor_dev = usb_stor_get_dev(usb_stor_curr_dev);
+	stor_dev = blk_get_devnum_by_type(IF_TYPE_USB, usb_stor_curr_dev);
 	if (!stor_dev)
 		return -ENODEV;
 #endif
diff --git a/common/spl/spl_ymodem.c b/common/spl/spl_ymodem.c
index 380d8dd..4f26ea5 100644
--- a/common/spl/spl_ymodem.c
+++ b/common/spl/spl_ymodem.c
@@ -40,8 +40,11 @@
 	if (!ret) {
 		while ((res =
 			xyzModem_stream_read(buf, BUF_SIZE, &err)) > 0) {
-			if (addr == 0)
-				spl_parse_image_header((struct image_header *)buf);
+			if (addr == 0) {
+				ret = spl_parse_image_header((struct image_header *)buf);
+				if (ret)
+					return ret;
+			}
 			store_addr = addr + spl_image.load_addr;
 			size += res;
 			addr += res;
diff --git a/common/usb_storage.c b/common/usb_storage.c
index 9285c95..7e6e52d 100644
--- a/common/usb_storage.c
+++ b/common/usb_storage.c
@@ -136,23 +136,6 @@
 #endif
 void uhci_show_temp_int_td(void);
 
-#ifdef CONFIG_PARTITIONS
-struct blk_desc *usb_stor_get_dev(int index)
-{
-#ifdef CONFIG_BLK
-	struct udevice *dev;
-	int ret;
-
-	ret = blk_get_device(IF_TYPE_USB, index, &dev);
-	if (ret)
-		return NULL;
-	return dev_get_uclass_platdata(dev);
-#else
-	return (index < usb_max_devs) ? &usb_dev_desc[index] : NULL;
-#endif
-}
-#endif
-
 static void usb_show_progress(void)
 {
 	debug(".");
@@ -217,7 +200,6 @@
 
 #ifdef CONFIG_BLK
 	struct us_data *data;
-	char dev_name[30], *str;
 	int ret;
 #else
 	int start;
@@ -240,14 +222,12 @@
 	for (lun = 0; lun <= max_lun; lun++) {
 		struct blk_desc *blkdev;
 		struct udevice *dev;
+		char str[10];
 
-		snprintf(dev_name, sizeof(dev_name), "%s.lun%d",
-			 udev->dev->name, lun);
-		str = strdup(dev_name);
-		if (!str)
-			return -ENOMEM;
-		ret = blk_create_device(udev->dev, "usb_storage_blk", str,
-				IF_TYPE_USB, usb_max_devs, 512, 0, &dev);
+		snprintf(str, sizeof(str), "lun%d", lun);
+		ret = blk_create_devicef(udev->dev, "usb_storage_blk", str,
+					 IF_TYPE_USB, usb_max_devs, 512, 0,
+					 &dev);
 		if (ret) {
 			debug("Cannot bind driver\n");
 			return ret;
@@ -1555,4 +1535,11 @@
 	.id		= UCLASS_BLK,
 	.ops		= &usb_storage_ops,
 };
+#else
+U_BOOT_LEGACY_BLK(usb) = {
+	.if_typename	= "usb",
+	.if_type	= IF_TYPE_USB,
+	.max_devs	= USB_MAX_STOR_DEV,
+	.desc		= usb_dev_desc,
+};
 #endif
diff --git a/configs/am437x_gp_evm_defconfig b/configs/am437x_gp_evm_defconfig
index 03b02ac..f098fd3 100644
--- a/configs/am437x_gp_evm_defconfig
+++ b/configs/am437x_gp_evm_defconfig
@@ -47,3 +47,4 @@
 CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
 CONFIG_G_DNL_VENDOR_NUM=0x0403
 CONFIG_G_DNL_PRODUCT_NUM=0xbd00
+CONFIG_DM_ETH=y
diff --git a/configs/am437x_sk_evm_defconfig b/configs/am437x_sk_evm_defconfig
index 48ec91f..8be0412 100644
--- a/configs/am437x_sk_evm_defconfig
+++ b/configs/am437x_sk_evm_defconfig
@@ -51,3 +51,4 @@
 CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
 CONFIG_G_DNL_VENDOR_NUM=0x0403
 CONFIG_G_DNL_PRODUCT_NUM=0xbd00
+CONFIG_DM_ETH=y
diff --git a/configs/ap121_defconfig b/configs/ap121_defconfig
new file mode 100644
index 0000000..7604e2e
--- /dev/null
+++ b/configs/ap121_defconfig
@@ -0,0 +1,47 @@
+CONFIG_MIPS=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_DM_SERIAL=y
+CONFIG_DM_SPI=y
+CONFIG_DM_SPI_FLASH=y
+CONFIG_ARCH_ATH79=y
+CONFIG_DEFAULT_DEVICE_TREE="ap121"
+CONFIG_SYS_PROMPT="ap121 # "
+# CONFIG_CMD_BDI is not set
+# CONFIG_CMD_CONSOLE is not set
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_XIMG is not set
+# CONFIG_CMD_EXPORTENV is not set
+# CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_EDITENV is not set
+# CONFIG_CMD_CRC32 is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_SF=y
+CONFIG_CMD_SPI=y
+# CONFIG_CMD_FPGA is not set
+# CONFIG_CMD_NET is not set
+# CONFIG_CMD_NFS is not set
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_BAR=y
+CONFIG_SPI_FLASH_ATMEL=y
+CONFIG_SPI_FLASH_EON=y
+CONFIG_SPI_FLASH_GIGADEVICE=y
+CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_SST=y
+CONFIG_SPI_FLASH_WINBOND=y
+CONFIG_SPI_FLASH_DATAFLASH=y
+CONFIG_SPI_FLASH_MTD=y
+CONFIG_PINCTRL=y
+CONFIG_PINCONF=y
+CONFIG_AR933X_PINCTRL=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_AR933X=y
+CONFIG_DEBUG_UART_BASE=0xb8020000
+CONFIG_DEBUG_UART_CLOCK=25000000
+CONFIG_DEBUG_UART_BOARD_INIT=y
+CONFIG_AR933X_UART=y
+CONFIG_ATH79_SPI=y
+CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_OF_LIBFDT=y
diff --git a/configs/ap143_defconfig b/configs/ap143_defconfig
new file mode 100644
index 0000000..1aa6e5d
--- /dev/null
+++ b/configs/ap143_defconfig
@@ -0,0 +1,47 @@
+CONFIG_MIPS=y
+CONFIG_SYS_MALLOC_F_LEN=0x800
+CONFIG_DM_SERIAL=y
+CONFIG_DM_SPI=y
+CONFIG_DM_SPI_FLASH=y
+CONFIG_ARCH_ATH79=y
+CONFIG_TARGET_AP143=y
+CONFIG_DEFAULT_DEVICE_TREE="ap143"
+CONFIG_SYS_PROMPT="ap143 # "
+# CONFIG_CMD_BDI is not set
+# CONFIG_CMD_CONSOLE is not set
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_XIMG is not set
+# CONFIG_CMD_EXPORTENV is not set
+# CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_EDITENV is not set
+# CONFIG_CMD_CRC32 is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_SF=y
+CONFIG_CMD_SPI=y
+# CONFIG_CMD_FPGA is not set
+# CONFIG_CMD_NET is not set
+# CONFIG_CMD_NFS is not set
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_BAR=y
+CONFIG_SPI_FLASH_ATMEL=y
+CONFIG_SPI_FLASH_EON=y
+CONFIG_SPI_FLASH_GIGADEVICE=y
+CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_SST=y
+CONFIG_SPI_FLASH_WINBOND=y
+CONFIG_SPI_FLASH_DATAFLASH=y
+CONFIG_SPI_FLASH_MTD=y
+CONFIG_PINCTRL=y
+CONFIG_QCA953X_PINCTRL=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_BASE=0xb8020000
+CONFIG_DEBUG_UART_CLOCK=25000000
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_DEBUG_UART_BOARD_INIT=y
+CONFIG_SYS_NS16550=y
+CONFIG_ATH79_SPI=y
+CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_OF_LIBFDT=y
diff --git a/configs/axs101_defconfig b/configs/axs101_defconfig
index 85af09e..07a6a18 100644
--- a/configs/axs101_defconfig
+++ b/configs/axs101_defconfig
@@ -18,6 +18,7 @@
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_CLK=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/axs103_defconfig b/configs/axs103_defconfig
index aa9bf33..01a5143 100644
--- a/configs/axs103_defconfig
+++ b/configs/axs103_defconfig
@@ -18,6 +18,7 @@
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_DM=y
 CONFIG_CLK=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/bayleybay_defconfig b/configs/bayleybay_defconfig
index ce1f519..9f1d7fb 100644
--- a/configs/bayleybay_defconfig
+++ b/configs/bayleybay_defconfig
@@ -9,6 +9,8 @@
 CONFIG_VGA_BIOS_ADDR=0xfffa0000
 CONFIG_GENERATE_PIRQ_TABLE=y
 CONFIG_GENERATE_MP_TABLE=y
+CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_SEABIOS=y
 CONFIG_FIT=y
 CONFIG_BOOTSTAGE=y
 CONFIG_BOOTSTAGE_REPORT=y
diff --git a/configs/conga-qeval20-qa3-e3845_defconfig b/configs/conga-qeval20-qa3-e3845_defconfig
index 5186345..64fd7c9 100644
--- a/configs/conga-qeval20-qa3-e3845_defconfig
+++ b/configs/conga-qeval20-qa3-e3845_defconfig
@@ -8,6 +8,8 @@
 CONFIG_HAVE_VGA_BIOS=y
 CONFIG_GENERATE_PIRQ_TABLE=y
 CONFIG_GENERATE_MP_TABLE=y
+CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_SEABIOS=y
 CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_BOOTSTAGE=y
diff --git a/configs/crownbay_defconfig b/configs/crownbay_defconfig
index 7c6b692..8e086c5 100644
--- a/configs/crownbay_defconfig
+++ b/configs/crownbay_defconfig
@@ -8,8 +8,6 @@
 CONFIG_GENERATE_PIRQ_TABLE=y
 CONFIG_GENERATE_MP_TABLE=y
 CONFIG_FIT=y
-CONFIG_BOOTSTAGE=y
-CONFIG_BOOTSTAGE_REPORT=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_CPU=y
 # CONFIG_CMD_IMLS is not set
@@ -24,7 +22,6 @@
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
-CONFIG_CMD_BOOTSTAGE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
diff --git a/configs/dra74_evm_defconfig b/configs/dra74_evm_defconfig
index a11dcd5..32ffce7 100644
--- a/configs/dra74_evm_defconfig
+++ b/configs/dra74_evm_defconfig
@@ -50,3 +50,4 @@
 CONFIG_G_DNL_MANUFACTURER="Texas Instruments"
 CONFIG_G_DNL_VENDOR_NUM=0x0451
 CONFIG_G_DNL_PRODUCT_NUM=0xd022
+CONFIG_DM_ETH=y
diff --git a/configs/galileo_defconfig b/configs/galileo_defconfig
index 17b1458..f8d3c3b8 100644
--- a/configs/galileo_defconfig
+++ b/configs/galileo_defconfig
@@ -4,10 +4,12 @@
 CONFIG_TARGET_GALILEO=y
 CONFIG_ENABLE_MRC_CACHE=y
 CONFIG_GENERATE_PIRQ_TABLE=y
+CONFIG_GENERATE_MP_TABLE=y
 CONFIG_FIT=y
 CONFIG_BOOTSTAGE=y
 CONFIG_BOOTSTAGE_REPORT=y
 CONFIG_HUSH_PARSER=y
+CONFIG_CMD_CPU=y
 # CONFIG_CMD_IMLS is not set
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_MMC=y
@@ -30,6 +32,7 @@
 CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_REGMAP=y
 CONFIG_SYSCON=y
+CONFIG_CPU=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
 CONFIG_SPI_FLASH_MACRONIX=y
diff --git a/configs/minnowmax_defconfig b/configs/minnowmax_defconfig
index 9930d56..28b837d 100644
--- a/configs/minnowmax_defconfig
+++ b/configs/minnowmax_defconfig
@@ -8,6 +8,8 @@
 CONFIG_HAVE_VGA_BIOS=y
 CONFIG_GENERATE_PIRQ_TABLE=y
 CONFIG_GENERATE_MP_TABLE=y
+CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_SEABIOS=y
 CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_BOOTSTAGE=y
diff --git a/configs/pico-imx6ul_defconfig b/configs/pico-imx6ul_defconfig
index cc49dc9..d46cd3b 100644
--- a/configs/pico-imx6ul_defconfig
+++ b/configs/pico-imx6ul_defconfig
@@ -2,6 +2,7 @@
 CONFIG_ARCH_MX6=y
 CONFIG_TARGET_PICO_IMX6UL=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/technexion/pico-imx6ul/imximage.cfg"
+CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_MEMTEST=y
diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig
index 53b1ff6..45bb3ec 100644
--- a/configs/qemu-x86_defconfig
+++ b/configs/qemu-x86_defconfig
@@ -20,6 +20,7 @@
 # CONFIG_CMD_NFS is not set
 CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
+CONFIG_CMD_QFW=y
 CONFIG_CMD_BOOTSTAGE=y
 CONFIG_CMD_EXT2=y
 CONFIG_CMD_EXT4=y
diff --git a/configs/sama5d2_ptc_nandflash_defconfig b/configs/sama5d2_ptc_nandflash_defconfig
new file mode 100644
index 0000000..7425184
--- /dev/null
+++ b/configs/sama5d2_ptc_nandflash_defconfig
@@ -0,0 +1,12 @@
+CONFIG_ARM=y
+CONFIG_ARCH_AT91=y
+CONFIG_TARGET_SAMA5D2_PTC=y
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2,SYS_USE_NANDFLASH"
+# CONFIG_CMD_IMI is not set
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_LOADS is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_SF=y
+# CONFIG_CMD_FPGA is not set
+CONFIG_SPI_FLASH=y
diff --git a/configs/sama5d2_ptc_spiflash_defconfig b/configs/sama5d2_ptc_spiflash_defconfig
new file mode 100644
index 0000000..27fc394
--- /dev/null
+++ b/configs/sama5d2_ptc_spiflash_defconfig
@@ -0,0 +1,12 @@
+CONFIG_ARM=y
+CONFIG_ARCH_AT91=y
+CONFIG_TARGET_SAMA5D2_PTC=y
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SAMA5D2,SYS_USE_SERIALFLASH"
+# CONFIG_CMD_IMI is not set
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_LOADS is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_SF=y
+# CONFIG_CMD_FPGA is not set
+CONFIG_SPI_FLASH=y
diff --git a/configs/sama5d2_xplained_mmc_defconfig b/configs/sama5d2_xplained_mmc_defconfig
index 7fd37d6..1880256 100644
--- a/configs/sama5d2_xplained_mmc_defconfig
+++ b/configs/sama5d2_xplained_mmc_defconfig
@@ -21,3 +21,4 @@
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d2_xplained_spiflash_defconfig b/configs/sama5d2_xplained_spiflash_defconfig
index de4e6bc..de8f4d9 100644
--- a/configs/sama5d2_xplained_spiflash_defconfig
+++ b/configs/sama5d2_xplained_spiflash_defconfig
@@ -21,3 +21,4 @@
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d3_xplained_mmc_defconfig b/configs/sama5d3_xplained_mmc_defconfig
index 189a3e9..1dabc5f 100644
--- a/configs/sama5d3_xplained_mmc_defconfig
+++ b/configs/sama5d3_xplained_mmc_defconfig
@@ -19,3 +19,4 @@
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d3_xplained_nandflash_defconfig b/configs/sama5d3_xplained_nandflash_defconfig
index 16e3f22..458a486 100644
--- a/configs/sama5d3_xplained_nandflash_defconfig
+++ b/configs/sama5d3_xplained_nandflash_defconfig
@@ -19,3 +19,4 @@
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d3xek_mmc_defconfig b/configs/sama5d3xek_mmc_defconfig
index 8d3c3cf..488d950 100644
--- a/configs/sama5d3xek_mmc_defconfig
+++ b/configs/sama5d3xek_mmc_defconfig
@@ -21,3 +21,4 @@
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d3xek_nandflash_defconfig b/configs/sama5d3xek_nandflash_defconfig
index 8e15286..12f28f2 100644
--- a/configs/sama5d3xek_nandflash_defconfig
+++ b/configs/sama5d3xek_nandflash_defconfig
@@ -21,3 +21,4 @@
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d3xek_spiflash_defconfig b/configs/sama5d3xek_spiflash_defconfig
index ffbafae..42fcc1e 100644
--- a/configs/sama5d3xek_spiflash_defconfig
+++ b/configs/sama5d3xek_spiflash_defconfig
@@ -21,3 +21,4 @@
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d4_xplained_mmc_defconfig b/configs/sama5d4_xplained_mmc_defconfig
index 1ea5cda..3110269 100644
--- a/configs/sama5d4_xplained_mmc_defconfig
+++ b/configs/sama5d4_xplained_mmc_defconfig
@@ -22,3 +22,4 @@
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d4_xplained_nandflash_defconfig b/configs/sama5d4_xplained_nandflash_defconfig
index 5384917..3ea4bd7 100644
--- a/configs/sama5d4_xplained_nandflash_defconfig
+++ b/configs/sama5d4_xplained_nandflash_defconfig
@@ -22,3 +22,4 @@
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d4_xplained_spiflash_defconfig b/configs/sama5d4_xplained_spiflash_defconfig
index b709cf6..dbec4ad 100644
--- a/configs/sama5d4_xplained_spiflash_defconfig
+++ b/configs/sama5d4_xplained_spiflash_defconfig
@@ -22,3 +22,4 @@
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d4ek_mmc_defconfig b/configs/sama5d4ek_mmc_defconfig
index 45128e9..f2a5844 100644
--- a/configs/sama5d4ek_mmc_defconfig
+++ b/configs/sama5d4ek_mmc_defconfig
@@ -22,3 +22,4 @@
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d4ek_nandflash_defconfig b/configs/sama5d4ek_nandflash_defconfig
index 9c1c232..58186ce 100644
--- a/configs/sama5d4ek_nandflash_defconfig
+++ b/configs/sama5d4ek_nandflash_defconfig
@@ -22,3 +22,4 @@
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sama5d4ek_spiflash_defconfig b/configs/sama5d4ek_spiflash_defconfig
index 59eb4dd..ab23e95 100644
--- a/configs/sama5d4ek_spiflash_defconfig
+++ b/configs/sama5d4ek_spiflash_defconfig
@@ -22,3 +22,4 @@
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_ATMEL_USBA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_FIT=y
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
index afdf4a3..9e4a92d 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
@@ -1,4 +1,5 @@
 CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_MMC=y
 CONFIG_PCI=y
 CONFIG_DEFAULT_DEVICE_TREE="sandbox"
 CONFIG_I8042_KEYB=y
@@ -47,6 +48,7 @@
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
 CONFIG_CMD_SOUND=y
+CONFIG_CMD_QFW=y
 CONFIG_CMD_BOOTSTAGE=y
 CONFIG_CMD_PMIC=y
 CONFIG_CMD_REGULATOR=y
@@ -97,6 +99,7 @@
 CONFIG_SPL_PWRSEQ=y
 CONFIG_RESET=y
 CONFIG_DM_MMC=y
+CONFIG_SANDBOX_MMC=y
 CONFIG_SPI_FLASH_SANDBOX=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_ATMEL=y
diff --git a/configs/sandbox_noblk_defconfig b/configs/sandbox_noblk_defconfig
new file mode 100644
index 0000000..93167c2
--- /dev/null
+++ b/configs/sandbox_noblk_defconfig
@@ -0,0 +1,168 @@
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_PCI=y
+CONFIG_DEFAULT_DEVICE_TREE="sandbox"
+CONFIG_I8042_KEYB=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_FIT_SIGNATURE=y
+CONFIG_SPL_LOAD_FIT=y
+CONFIG_BOOTSTAGE=y
+CONFIG_BOOTSTAGE_REPORT=y
+CONFIG_BOOTSTAGE_USER_COUNT=0x20
+CONFIG_BOOTSTAGE_FDT=y
+CONFIG_BOOTSTAGE_STASH=y
+CONFIG_BOOTSTAGE_STASH_ADDR=0x0
+CONFIG_BOOTSTAGE_STASH_SIZE=0x4096
+CONFIG_CONSOLE_RECORD=y
+CONFIG_CONSOLE_RECORD_OUT_SIZE=0x1000
+CONFIG_HUSH_PARSER=y
+CONFIG_CMD_CPU=y
+CONFIG_CMD_LICENSE=y
+CONFIG_CMD_BOOTZ=y
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_IMLS is not set
+CONFIG_CMD_ASKENV=y
+CONFIG_CMD_GREPENV=y
+CONFIG_LOOPW=y
+CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_MX_CYCLIC=y
+CONFIG_CMD_MEMINFO=y
+CONFIG_CMD_DEMO=y
+CONFIG_CMD_SF=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_REMOTEPROC=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_TFTPPUT=y
+CONFIG_CMD_TFTPSRV=y
+CONFIG_CMD_RARP=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_CDP=y
+CONFIG_CMD_SNTP=y
+CONFIG_CMD_DNS=y
+CONFIG_CMD_LINK_LOCAL=y
+CONFIG_CMD_TIME=y
+CONFIG_CMD_TIMER=y
+CONFIG_CMD_SOUND=y
+CONFIG_CMD_BOOTSTAGE=y
+CONFIG_CMD_PMIC=y
+CONFIG_CMD_REGULATOR=y
+CONFIG_CMD_TPM=y
+CONFIG_CMD_TPM_TEST=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_OF_CONTROL=y
+CONFIG_OF_HOSTFILE=y
+CONFIG_NETCONSOLE=y
+CONFIG_REGMAP=y
+CONFIG_SPL_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_SPL_SYSCON=y
+CONFIG_DEVRES=y
+CONFIG_DEBUG_DEVRES=y
+CONFIG_ADC=y
+CONFIG_ADC_SANDBOX=y
+CONFIG_CLK=y
+CONFIG_CPU=y
+CONFIG_DM_DEMO=y
+CONFIG_DM_DEMO_SIMPLE=y
+CONFIG_DM_DEMO_SHAPE=y
+CONFIG_PM8916_GPIO=y
+CONFIG_SANDBOX_GPIO=y
+CONFIG_DM_I2C_COMPAT=y
+CONFIG_I2C_CROS_EC_TUNNEL=y
+CONFIG_I2C_CROS_EC_LDO=y
+CONFIG_DM_I2C_GPIO=y
+CONFIG_SYS_I2C_SANDBOX=y
+CONFIG_I2C_MUX=y
+CONFIG_SPL_I2C_MUX=y
+CONFIG_I2C_ARB_GPIO_CHALLENGE=y
+CONFIG_CROS_EC_KEYB=y
+CONFIG_LED=y
+CONFIG_LED_GPIO=y
+CONFIG_CMD_CROS_EC=y
+CONFIG_CROS_EC=y
+CONFIG_CROS_EC_I2C=y
+CONFIG_CROS_EC_LPC=y
+CONFIG_CROS_EC_SANDBOX=y
+CONFIG_CROS_EC_SPI=y
+CONFIG_PWRSEQ=y
+CONFIG_SPL_PWRSEQ=y
+CONFIG_RESET=y
+CONFIG_DM_MMC=y
+CONFIG_SPI_FLASH_SANDBOX=y
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_ATMEL=y
+CONFIG_SPI_FLASH_EON=y
+CONFIG_SPI_FLASH_GIGADEVICE=y
+CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_SST=y
+CONFIG_SPI_FLASH_WINBOND=y
+CONFIG_DM_ETH=y
+CONFIG_DM_PCI=y
+CONFIG_DM_PCI_COMPAT=y
+CONFIG_PCI_SANDBOX=y
+CONFIG_PINCTRL=y
+CONFIG_PINCONF=y
+CONFIG_ROCKCHIP_PINCTRL=y
+CONFIG_ROCKCHIP_3036_PINCTRL=y
+CONFIG_PINCTRL_SANDBOX=y
+CONFIG_DM_PMIC=y
+CONFIG_PMIC_ACT8846=y
+CONFIG_DM_PMIC_PFUZE100=y
+CONFIG_DM_PMIC_MAX77686=y
+CONFIG_PMIC_PM8916=y
+CONFIG_PMIC_RK808=y
+CONFIG_PMIC_S2MPS11=y
+CONFIG_DM_PMIC_SANDBOX=y
+CONFIG_PMIC_S5M8767=y
+CONFIG_PMIC_TPS65090=y
+CONFIG_DM_REGULATOR=y
+CONFIG_REGULATOR_ACT8846=y
+CONFIG_DM_REGULATOR_PFUZE100=y
+CONFIG_DM_REGULATOR_MAX77686=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_REGULATOR_RK808=y
+CONFIG_REGULATOR_S5M8767=y
+CONFIG_DM_REGULATOR_SANDBOX=y
+CONFIG_REGULATOR_TPS65090=y
+CONFIG_RAM=y
+CONFIG_REMOTEPROC_SANDBOX=y
+CONFIG_DM_RTC=y
+CONFIG_SANDBOX_SERIAL=y
+CONFIG_SOUND=y
+CONFIG_SOUND_SANDBOX=y
+CONFIG_SANDBOX_SPI=y
+CONFIG_SPMI=y
+CONFIG_SPMI_SANDBOX=y
+CONFIG_TIMER=y
+CONFIG_TIMER_EARLY=y
+CONFIG_SANDBOX_TIMER=y
+CONFIG_TPM_TIS_SANDBOX=y
+CONFIG_USB=y
+CONFIG_DM_USB=y
+CONFIG_USB_EMUL=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_KEYBOARD=y
+CONFIG_SYS_USB_EVENT_POLL=y
+CONFIG_DM_VIDEO=y
+CONFIG_CONSOLE_ROTATION=y
+CONFIG_CONSOLE_TRUETYPE=y
+CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
+CONFIG_VIDEO_SANDBOX_SDL=y
+CONFIG_CMD_DHRYSTONE=y
+CONFIG_TPM=y
+CONFIG_LZ4=y
+CONFIG_ERRNO_STR=y
+CONFIG_UNIT_TEST=y
+CONFIG_UT_TIME=y
+CONFIG_UT_DM=y
+CONFIG_UT_ENV=y
diff --git a/configs/socfpga_arria5_defconfig b/configs/socfpga_arria5_defconfig
index 9a7c091..a662e72 100644
--- a/configs/socfpga_arria5_defconfig
+++ b/configs/socfpga_arria5_defconfig
@@ -33,6 +33,7 @@
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DWAPB_GPIO=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
diff --git a/configs/socfpga_cyclone5_defconfig b/configs/socfpga_cyclone5_defconfig
index ac81854..b2933f7 100644
--- a/configs/socfpga_cyclone5_defconfig
+++ b/configs/socfpga_cyclone5_defconfig
@@ -33,6 +33,7 @@
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DWAPB_GPIO=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
diff --git a/configs/socfpga_de0_nano_soc_defconfig b/configs/socfpga_de0_nano_soc_defconfig
index 405d9d4..f197b6d 100644
--- a/configs/socfpga_de0_nano_soc_defconfig
+++ b/configs/socfpga_de0_nano_soc_defconfig
@@ -32,6 +32,7 @@
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_DWAPB_GPIO=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_DM_MMC=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/socfpga_mcvevk_defconfig b/configs/socfpga_mcvevk_defconfig
index 3615490..6624f9e 100644
--- a/configs/socfpga_mcvevk_defconfig
+++ b/configs/socfpga_mcvevk_defconfig
@@ -32,6 +32,7 @@
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_DWAPB_GPIO=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_DM_MMC=y
 CONFIG_DM_ETH=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/socfpga_sockit_defconfig b/configs/socfpga_sockit_defconfig
index bdc8e6b..c6414f8 100644
--- a/configs/socfpga_sockit_defconfig
+++ b/configs/socfpga_sockit_defconfig
@@ -33,6 +33,7 @@
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DWAPB_GPIO=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
diff --git a/configs/socfpga_socrates_defconfig b/configs/socfpga_socrates_defconfig
index a17e9d0..b47a560 100644
--- a/configs/socfpga_socrates_defconfig
+++ b/configs/socfpga_socrates_defconfig
@@ -34,6 +34,7 @@
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DWAPB_GPIO=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
diff --git a/configs/socfpga_sr1500_defconfig b/configs/socfpga_sr1500_defconfig
index c4b215a..aab4498 100644
--- a/configs/socfpga_sr1500_defconfig
+++ b/configs/socfpga_sr1500_defconfig
@@ -32,6 +32,7 @@
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_DWAPB_GPIO=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_DM_MMC=y
 CONFIG_SPI_FLASH=y
 CONFIG_SPI_FLASH_BAR=y
diff --git a/configs/spear300_defconfig b/configs/spear300_defconfig
index af2f544..db3b6ea 100644
--- a/configs/spear300_defconfig
+++ b/configs/spear300_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear300_nand_defconfig b/configs/spear300_nand_defconfig
index 6c53e1f..ea4e8d7 100644
--- a/configs/spear300_nand_defconfig
+++ b/configs/spear300_nand_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear300_usbtty_defconfig b/configs/spear300_usbtty_defconfig
index 6827701..a2b56f3 100644
--- a/configs/spear300_usbtty_defconfig
+++ b/configs/spear300_usbtty_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear300_usbtty_nand_defconfig b/configs/spear300_usbtty_nand_defconfig
index 477a226..1738489 100644
--- a/configs/spear300_usbtty_nand_defconfig
+++ b/configs/spear300_usbtty_nand_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear310_defconfig b/configs/spear310_defconfig
index 0991f8e..a6064a5 100644
--- a/configs/spear310_defconfig
+++ b/configs/spear310_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear310_nand_defconfig b/configs/spear310_nand_defconfig
index ef30a67..85944c6 100644
--- a/configs/spear310_nand_defconfig
+++ b/configs/spear310_nand_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear310_pnor_defconfig b/configs/spear310_pnor_defconfig
index 6cfe220..48efe3d 100644
--- a/configs/spear310_pnor_defconfig
+++ b/configs/spear310_pnor_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear310_usbtty_defconfig b/configs/spear310_usbtty_defconfig
index c0d8edf..8edbe0c 100644
--- a/configs/spear310_usbtty_defconfig
+++ b/configs/spear310_usbtty_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear310_usbtty_nand_defconfig b/configs/spear310_usbtty_nand_defconfig
index e9d14ce..b622f74 100644
--- a/configs/spear310_usbtty_nand_defconfig
+++ b/configs/spear310_usbtty_nand_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear310_usbtty_pnor_defconfig b/configs/spear310_usbtty_pnor_defconfig
index 2e46e64..241a72a 100644
--- a/configs/spear310_usbtty_pnor_defconfig
+++ b/configs/spear310_usbtty_pnor_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear320_defconfig b/configs/spear320_defconfig
index 8dba79a..49d7c04 100644
--- a/configs/spear320_defconfig
+++ b/configs/spear320_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear320_nand_defconfig b/configs/spear320_nand_defconfig
index 7f33c78..70b3025 100644
--- a/configs/spear320_nand_defconfig
+++ b/configs/spear320_nand_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear320_pnor_defconfig b/configs/spear320_pnor_defconfig
index f7d3725..5ced0e1 100644
--- a/configs/spear320_pnor_defconfig
+++ b/configs/spear320_pnor_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear320_usbtty_defconfig b/configs/spear320_usbtty_defconfig
index 9e41253..de75b17 100644
--- a/configs/spear320_usbtty_defconfig
+++ b/configs/spear320_usbtty_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear320_usbtty_nand_defconfig b/configs/spear320_usbtty_nand_defconfig
index e61c74e..2202d2e 100644
--- a/configs/spear320_usbtty_nand_defconfig
+++ b/configs/spear320_usbtty_nand_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear320_usbtty_pnor_defconfig b/configs/spear320_usbtty_pnor_defconfig
index 7410093..35bb036 100644
--- a/configs/spear320_usbtty_pnor_defconfig
+++ b/configs/spear320_usbtty_pnor_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear600_defconfig b/configs/spear600_defconfig
index f0e041f..f540839 100644
--- a/configs/spear600_defconfig
+++ b/configs/spear600_defconfig
@@ -9,5 +9,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear600_nand_defconfig b/configs/spear600_nand_defconfig
index cc4067d..de416d9 100644
--- a/configs/spear600_nand_defconfig
+++ b/configs/spear600_nand_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear600_usbtty_defconfig b/configs/spear600_usbtty_defconfig
index df21355..8b6e0d0 100644
--- a/configs/spear600_usbtty_defconfig
+++ b/configs/spear600_usbtty_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/spear600_usbtty_nand_defconfig b/configs/spear600_usbtty_nand_defconfig
index 48140aa..e8b4b0a 100644
--- a/configs/spear600_usbtty_nand_defconfig
+++ b/configs/spear600_usbtty_nand_defconfig
@@ -6,5 +6,6 @@
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
diff --git a/configs/tplink_wdr4300_defconfig b/configs/tplink_wdr4300_defconfig
new file mode 100644
index 0000000..b1af2f6
--- /dev/null
+++ b/configs/tplink_wdr4300_defconfig
@@ -0,0 +1,43 @@
+CONFIG_MIPS=y
+CONFIG_ARCH_ATH79=y
+CONFIG_BOARD_TPLINK_WDR4300=y
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_SYS_NS16550=y
+CONFIG_DM_SERIAL=y
+CONFIG_DEFAULT_DEVICE_TREE="tplink_wdr4300"
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_XIMG is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+CONFIG_CMD_NET=y
+CONFIG_CMD_NFS=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_PING=y
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_DM_ETH=y
+CONFIG_AG7XXX=y
+CONFIG_CLK=y
+CONFIG_CMD_USB=y
+CONFIG_USB=y
+CONFIG_DM_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_GENERIC=y
+CONFIG_USB_STORAGE=y
+CONFIG_ATH79_SPI=y
+CONFIG_DM_SPI=y
+CONFIG_DM_SPI_FLASH=y
+CONFIG_CMD_SF=y
+CONFIG_CMD_SPI=y
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_ATMEL=y
+CONFIG_SPI_FLASH_EON=y
+CONFIG_SPI_FLASH_GIGADEVICE=y
+CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_SST=y
+CONFIG_SPI_FLASH_WINBOND=y
+CONFIG_SPI_FLASH_DATAFLASH=y
+CONFIG_SPI_FLASH_MTD=y
+CONFIG_PINCTRL=y
diff --git a/configs/x600_defconfig b/configs/x600_defconfig
index 1a07b9d..ace620b 100644
--- a/configs/x600_defconfig
+++ b/configs/x600_defconfig
@@ -17,6 +17,7 @@
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
+CONFIG_SYS_I2C_DW=y
 CONFIG_NETDEVICES=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_USE_TINY_PRINTF=y
diff --git a/configs/xilinx_zynqmp_ep_defconfig b/configs/xilinx_zynqmp_ep_defconfig
index b185593..37b8052 100644
--- a/configs/xilinx_zynqmp_ep_defconfig
+++ b/configs/xilinx_zynqmp_ep_defconfig
@@ -40,12 +40,21 @@
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_EMBED=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_CLK=y
+CONFIG_SPL_CLK=y
 CONFIG_SYS_I2C_CADENCE=y
 CONFIG_DM_MMC=y
 CONFIG_ZYNQ_SDHCI=y
 CONFIG_NAND_ARASAN=y
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_BAR=y
 CONFIG_DM_ETH=y
 CONFIG_ZYNQ_GEM=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_ZYNQ=y
+CONFIG_DEBUG_UART_BASE=0xff000000
+CONFIG_DEBUG_UART_CLOCK=25000000
+CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_USB=y
 CONFIG_USB_DWC3=y
 CONFIG_USB_DWC3_GADGET=y
diff --git a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig
index cc08b03..fa761e5 100644
--- a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig
+++ b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig
@@ -8,6 +8,7 @@
 CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zc1751-xm015-dc1"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
+CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_MEMTEST=y
@@ -30,6 +31,8 @@
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_EMBED=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_CLK=y
+CONFIG_SPL_CLK=y
 CONFIG_SYS_I2C_CADENCE=y
 CONFIG_DM_MMC=y
 CONFIG_ZYNQ_SDHCI=y
@@ -40,6 +43,11 @@
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_ZYNQ_GEM=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_ZYNQ=y
+CONFIG_DEBUG_UART_BASE=0xff000000
+CONFIG_DEBUG_UART_CLOCK=100000000
+CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_USB=y
 CONFIG_USB_DWC3=y
 CONFIG_USB_DWC3_GADGET=y
diff --git a/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig b/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig
index 14d24a0..2811d4b 100644
--- a/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig
+++ b/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig
@@ -8,6 +8,7 @@
 CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zc1751-xm016-dc2"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
+CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_MEMTEST=y
@@ -29,6 +30,8 @@
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_EMBED=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_CLK=y
+CONFIG_SPL_CLK=y
 CONFIG_SYS_I2C_CADENCE=y
 CONFIG_DM_MMC=y
 CONFIG_NAND_ARASAN=y
diff --git a/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig b/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig
index e1e11b7..3711084 100644
--- a/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig
+++ b/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig
@@ -7,6 +7,7 @@
 CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zc1751-xm019-dc5"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
+CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_MEMTEST=y
@@ -25,6 +26,8 @@
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_EMBED=y
+CONFIG_CLK=y
+CONFIG_SPL_CLK=y
 CONFIG_SYS_I2C_CADENCE=y
 CONFIG_DM_MMC=y
 CONFIG_ZYNQ_SDHCI=y
diff --git a/configs/xilinx_zynqmp_zcu102_defconfig b/configs/xilinx_zynqmp_zcu102_defconfig
index 6f1cff8..46a5dd0 100644
--- a/configs/xilinx_zynqmp_zcu102_defconfig
+++ b/configs/xilinx_zynqmp_zcu102_defconfig
@@ -7,6 +7,7 @@
 CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
+CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_MEMTEST=y
@@ -29,6 +30,8 @@
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_EMBED=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_CLK=y
+CONFIG_SPL_CLK=y
 CONFIG_DM_MMC=y
 CONFIG_ZYNQ_SDHCI=y
 CONFIG_SPI_FLASH=y
@@ -38,6 +41,11 @@
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_ZYNQ_GEM=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_ZYNQ=y
+CONFIG_DEBUG_UART_BASE=0xff000000
+CONFIG_DEBUG_UART_CLOCK=100000000
+CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_USB=y
 CONFIG_USB_DWC3=y
 CONFIG_USB_DWC3_GADGET=y
diff --git a/configs/xilinx_zynqmp_zcu102_revB_defconfig b/configs/xilinx_zynqmp_zcu102_revB_defconfig
index a8982a0..96a2be1 100644
--- a/configs/xilinx_zynqmp_zcu102_revB_defconfig
+++ b/configs/xilinx_zynqmp_zcu102_revB_defconfig
@@ -7,6 +7,7 @@
 CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-revB"
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
+CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="ZynqMP> "
 # CONFIG_CMD_IMLS is not set
 CONFIG_CMD_MEMTEST=y
@@ -29,6 +30,8 @@
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_EMBED=y
 CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_CLK=y
+CONFIG_SPL_CLK=y
 CONFIG_DM_MMC=y
 CONFIG_ZYNQ_SDHCI=y
 CONFIG_SPI_FLASH=y
@@ -38,6 +41,11 @@
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_ZYNQ_GEM=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_ZYNQ=y
+CONFIG_DEBUG_UART_BASE=0xff000000
+CONFIG_DEBUG_UART_CLOCK=100000000
+CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_USB=y
 CONFIG_USB_DWC3=y
 CONFIG_USB_DWC3_GADGET=y
diff --git a/configs/zynq_microzed_defconfig b/configs/zynq_microzed_defconfig
index 7c66247..d0b1ec9 100644
--- a/configs/zynq_microzed_defconfig
+++ b/configs/zynq_microzed_defconfig
@@ -1,6 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="zynq_microzed"
 CONFIG_ARCH_ZYNQ=y
-CONFIG_TARGET_ZYNQ_MICROZED=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-microzed"
 CONFIG_SPL=y
 CONFIG_FIT=y
diff --git a/configs/zynq_picozed_defconfig b/configs/zynq_picozed_defconfig
index b46ab44..3624424 100644
--- a/configs/zynq_picozed_defconfig
+++ b/configs/zynq_picozed_defconfig
@@ -1,6 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="zynq_picozed"
 CONFIG_ARCH_ZYNQ=y
-CONFIG_TARGET_ZYNQ_PICOZED=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-picozed"
 CONFIG_SPL=y
 CONFIG_HUSH_PARSER=y
diff --git a/configs/zynq_zc702_defconfig b/configs/zynq_zc702_defconfig
index 052679a..e1b1fc9 100644
--- a/configs/zynq_zc702_defconfig
+++ b/configs/zynq_zc702_defconfig
@@ -1,4 +1,5 @@
 CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="zynq_zc70x"
 CONFIG_ARCH_ZYNQ=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zc702"
 CONFIG_SPL=y
diff --git a/configs/zynq_zc706_defconfig b/configs/zynq_zc706_defconfig
index 3539f05..63d32d9 100644
--- a/configs/zynq_zc706_defconfig
+++ b/configs/zynq_zc706_defconfig
@@ -1,6 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="zynq_zc70x"
 CONFIG_ARCH_ZYNQ=y
-CONFIG_TARGET_ZYNQ_ZC706=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zc706"
 CONFIG_SPL=y
 CONFIG_FIT=y
diff --git a/configs/zynq_zc770_xm010_defconfig b/configs/zynq_zc770_xm010_defconfig
index 6a4726c..6ccbb8c 100644
--- a/configs/zynq_zc770_xm010_defconfig
+++ b/configs/zynq_zc770_xm010_defconfig
@@ -1,6 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="zynq_zc770"
 CONFIG_ARCH_ZYNQ=y
-CONFIG_TARGET_ZYNQ_ZC770=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm010"
 CONFIG_SPL=y
 CONFIG_FIT=y
diff --git a/configs/zynq_zc770_xm011_defconfig b/configs/zynq_zc770_xm011_defconfig
index 46dd6be..e6c646b 100644
--- a/configs/zynq_zc770_xm011_defconfig
+++ b/configs/zynq_zc770_xm011_defconfig
@@ -1,6 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="zynq_zc770"
 CONFIG_ARCH_ZYNQ=y
-CONFIG_TARGET_ZYNQ_ZC770=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm011"
 CONFIG_SPL=y
 CONFIG_FIT=y
diff --git a/configs/zynq_zc770_xm012_defconfig b/configs/zynq_zc770_xm012_defconfig
index 12f0e2c..a8cfeb8 100644
--- a/configs/zynq_zc770_xm012_defconfig
+++ b/configs/zynq_zc770_xm012_defconfig
@@ -1,6 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="zynq_zc770"
 CONFIG_ARCH_ZYNQ=y
-CONFIG_TARGET_ZYNQ_ZC770=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm012"
 CONFIG_SPL=y
 CONFIG_FIT=y
diff --git a/configs/zynq_zc770_xm013_defconfig b/configs/zynq_zc770_xm013_defconfig
index 8c7efe5..f2d00ca 100644
--- a/configs/zynq_zc770_xm013_defconfig
+++ b/configs/zynq_zc770_xm013_defconfig
@@ -1,6 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="zynq_zc770"
 CONFIG_ARCH_ZYNQ=y
-CONFIG_TARGET_ZYNQ_ZC770=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm013"
 CONFIG_SPL=y
 CONFIG_FIT=y
diff --git a/configs/zynq_zed_defconfig b/configs/zynq_zed_defconfig
index 7976e07..7783eeb 100644
--- a/configs/zynq_zed_defconfig
+++ b/configs/zynq_zed_defconfig
@@ -1,6 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="zynq_zed"
 CONFIG_ARCH_ZYNQ=y
-CONFIG_TARGET_ZYNQ_ZED=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zed"
 CONFIG_SPL=y
 CONFIG_FIT=y
diff --git a/configs/zynq_zybo_defconfig b/configs/zynq_zybo_defconfig
index cd222c5..9236c5e 100644
--- a/configs/zynq_zybo_defconfig
+++ b/configs/zynq_zybo_defconfig
@@ -1,6 +1,6 @@
 CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="zynq_zybo"
 CONFIG_ARCH_ZYNQ=y
-CONFIG_TARGET_ZYNQ_ZYBO=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zybo"
 CONFIG_SPL=y
 CONFIG_FIT=y
diff --git a/disk/part.c b/disk/part.c
index 543cab8..6a1c02d 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -21,35 +21,6 @@
 #define PRINTF(fmt,args...)
 #endif
 
-const struct block_drvr block_drvr[] = {
-#if defined(CONFIG_CMD_IDE)
-	{ .name = "ide", .get_dev = ide_get_dev, },
-#endif
-#if defined(CONFIG_CMD_SATA)
-	{.name = "sata", .get_dev = sata_get_dev, },
-#endif
-#if defined(CONFIG_CMD_SCSI)
-	{ .name = "scsi", .get_dev = scsi_get_dev, },
-#endif
-#if defined(CONFIG_CMD_USB) && defined(CONFIG_USB_STORAGE)
-	{ .name = "usb", .get_dev = usb_stor_get_dev, },
-#endif
-#if defined(CONFIG_MMC)
-	{
-		.name = "mmc",
-		.get_dev = mmc_get_dev,
-		.select_hwpart = mmc_select_hwpart,
-	},
-#endif
-#if defined(CONFIG_SYSTEMACE)
-	{ .name = "ace", .get_dev = systemace_get_dev, },
-#endif
-#if defined(CONFIG_SANDBOX)
-	{ .name = "host", .get_dev = host_get_dev, },
-#endif
-	{ },
-};
-
 DECLARE_GLOBAL_DATA_PTR;
 
 #ifdef HAVE_BLOCK_DEVICE
@@ -71,45 +42,23 @@
 
 static struct blk_desc *get_dev_hwpart(const char *ifname, int dev, int hwpart)
 {
-	const struct block_drvr *drvr = block_drvr;
-	struct blk_desc* (*reloc_get_dev)(int dev);
-	int (*select_hwpart)(int dev_num, int hwpart);
-	char *name;
+	struct blk_desc *dev_desc;
 	int ret;
 
-	if (!ifname)
+	dev_desc = blk_get_devnum_by_typename(ifname, dev);
+	if (!dev_desc) {
+		debug("%s: No device for iface '%s', dev %d\n", __func__,
+		      ifname, dev);
 		return NULL;
-
-	name = drvr->name;
-#ifdef CONFIG_NEEDS_MANUAL_RELOC
-	name += gd->reloc_off;
-#endif
-	while (drvr->name) {
-		name = drvr->name;
-		reloc_get_dev = drvr->get_dev;
-		select_hwpart = drvr->select_hwpart;
-#ifdef CONFIG_NEEDS_MANUAL_RELOC
-		name += gd->reloc_off;
-		reloc_get_dev += gd->reloc_off;
-		if (select_hwpart)
-			select_hwpart += gd->reloc_off;
-#endif
-		if (strncmp(ifname, name, strlen(name)) == 0) {
-			struct blk_desc *dev_desc = reloc_get_dev(dev);
-			if (!dev_desc)
-				return NULL;
-			if (hwpart == 0 && !select_hwpart)
-				return dev_desc;
-			if (!select_hwpart)
-				return NULL;
-			ret = select_hwpart(dev_desc->devnum, hwpart);
-			if (ret < 0)
-				return NULL;
-			return dev_desc;
-		}
-		drvr++;
 	}
-	return NULL;
+	ret = blk_dselect_hwpart(dev_desc, hwpart);
+	if (ret) {
+		debug("%s: Failed to select h/w partition: err-%d\n", __func__,
+		      ret);
+		return NULL;
+	}
+
+	return dev_desc;
 }
 
 struct blk_desc *blk_get_dev(const char *ifname, int dev)
@@ -401,7 +350,7 @@
 	if (*ep) {
 		printf("** Bad device specification %s %s **\n",
 		       ifname, dev_str);
-		dev = -1;
+		dev = -EINVAL;
 		goto cleanup;
 	}
 
@@ -410,7 +359,7 @@
 		if (*ep) {
 			printf("** Bad HW partition specification %s %s **\n",
 			    ifname, hwpart_str);
-			dev = -1;
+			dev = -EINVAL;
 			goto cleanup;
 		}
 	}
@@ -418,7 +367,7 @@
 	*dev_desc = get_dev_hwpart(ifname, dev, hwpart);
 	if (!(*dev_desc) || ((*dev_desc)->type == DEV_TYPE_UNKNOWN)) {
 		printf("** Bad device %s %s **\n", ifname, dev_hwpart_str);
-		dev = -1;
+		dev = -ENOENT;
 		goto cleanup;
 	}
 
diff --git a/doc/README.x86 b/doc/README.x86
index c5c3010..4d50feb 100644
--- a/doc/README.x86
+++ b/doc/README.x86
@@ -23,7 +23,8 @@
 'bare metal', U-Boot acts like a BIOS replacement. The following platforms
 are supported:
 
-   - Bayley Bay
+   - Bayley Bay CRB
+   - Congatec QEVAL 2.0 & conga-QA3/E3845
    - Cougar Canyon 2 CRB
    - Crown Bay CRB
    - Galileo
@@ -303,12 +304,12 @@
 000000   descriptor.bin      Hard-coded to 0 in ifdtool
 001000   me.bin              Set by the descriptor
 500000   <spare>
+6ef000   Environment         CONFIG_ENV_OFFSET
 6f0000   MRC cache           CONFIG_ENABLE_MRC_CACHE
 700000   u-boot-dtb.bin      CONFIG_SYS_TEXT_BASE
 790000   vga.bin             CONFIG_VGA_BIOS_ADDR
 7c0000   fsp.bin             CONFIG_FSP_ADDR
 7f8000   <spare>             (depends on size of fsp.bin)
-7fe000   Environment         CONFIG_ENV_OFFSET
 7ff800   U-Boot 16-bit boot  CONFIG_SYS_X86_START16
 
 Overall ROM image size is controlled by CONFIG_ROM_SIZE.
@@ -412,18 +413,19 @@
 Multicore is also supported by QEMU via '-smp n' where n is the number of cores
 to instantiate. Note, the maximum supported CPU number in QEMU is 255.
 
-The fw_cfg interface in QEMU also provides information about kernel data, initrd,
-command-line arguments and more. U-Boot supports directly accessing these informtion
-from fw_cfg interface, this saves the time of loading them from hard disk or
-network again, through emulated devices. To use it , simply providing them in
-QEMU command line:
+The fw_cfg interface in QEMU also provides information about kernel data,
+initrd, command-line arguments and more. U-Boot supports directly accessing
+these informtion from fw_cfg interface, which saves the time of loading them
+from hard disk or network again, through emulated devices. To use it , simply
+providing them in QEMU command line:
 
 $ qemu-system-i386 -nographic -bios path/to/u-boot.rom -m 1024 -kernel /path/to/bzImage
     -append 'root=/dev/ram console=ttyS0' -initrd /path/to/initrd -smp 8
 
 Note: -initrd and -smp are both optional
 
-Then start QEMU, in U-Boot command line use the following U-Boot command to setup kernel:
+Then start QEMU, in U-Boot command line use the following U-Boot command to
+setup kernel:
 
  => qfw
 qfw - QEMU firmware interface
@@ -437,8 +439,8 @@
 => qfw load
 loading kernel to address 01000000 size 5d9d30 initrd 04000000 size 1b1ab50
 
-Here the kernel (bzImage) is loaded to 01000000 and initrd is to 04000000. Then, 'zboot'
-can be used to boot the kernel:
+Here the kernel (bzImage) is loaded to 01000000 and initrd is to 04000000. Then,
+'zboot' can be used to boot the kernel:
 
 => zboot 02000000 - 04000000 1b1ab50
 
@@ -490,8 +492,8 @@
 --------------
 As an example of how to set up your boot flow with U-Boot, here are
 instructions for starting Ubuntu from U-Boot. These instructions have been
-tested on Minnowboard MAX with a SATA driver but are equally applicable on
-other platforms and other media. There are really only four steps and its a
+tested on Minnowboard MAX with a SATA drive but are equally applicable on
+other platforms and other media. There are really only four steps and it's a
 very simple script, but a more detailed explanation is provided here for
 completeness.
 
@@ -499,7 +501,7 @@
 It could also use the grub.cfg file (/efi/ubuntu/grub.cfg) to obtain the
 GUID. If you figure these out, please post patches to this README.
 
-Firstly, you will need Ubunutu installed on an available disk. It should be
+Firstly, you will need Ubuntu installed on an available disk. It should be
 possible to make U-Boot start a USB start-up disk but for now let's assume
 that you used another boot loader to install Ubuntu.
 
@@ -659,7 +661,7 @@
    Loading bzImage at address 100000 (5805728 bytes)
    Magic signature found
    Initial RAM disk at linear address 0x04000000, size 19215259 bytes
-   Kernel command line: "console=ttyS0,115200 root=/dev/disk/by-partuuid/965c59ee-1822-4326-90d2-b02446050059 ro"
+   Kernel command line: "root=/dev/disk/by-partuuid/965c59ee-1822-4326-90d2-b02446050059 ro"
 
    Starting kernel ...
 
@@ -679,13 +681,14 @@
                   240,329  ahci
                 1,422,704  vesa display
 
-Now the kernel actually starts:
+Now the kernel actually starts: (if you want to examine kernel boot up message
+on the serial console, append "console=ttyS0,115200" to the kernel command line)
 
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 3.13.0-58-generic (buildd@allspice) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #97-Ubuntu SMP Wed Jul 8 02:56:15 UTC 2015 (Ubuntu 3.13.0-58.97-generic 3.13.11-ckt22)
-   [    0.000000] Command line: console=ttyS0,115200 root=/dev/disk/by-partuuid/965c59ee-1822-4326-90d2-b02446050059 ro
+   [    0.000000] Command line: root=/dev/disk/by-partuuid/965c59ee-1822-4326-90d2-b02446050059 ro console=ttyS0,115200
 
 It continues for a long time. Along the way you will see it pick up your
 ramdisk:
@@ -736,14 +739,6 @@
 The \ is to tell the shell not to evaluate ${filesize} as part of the setenv
 command.
 
-You will also need to add this to your board configuration file, e.g.
-include/configs/minnowmax.h:
-
-   #define CONFIG_BOOTDELAY	2
-
-Now when you reset your board it wait a few seconds (in case you want to
-interrupt) and then should boot straight into Ubuntu.
-
 You can also bake this behaviour into your build by hard-coding the
 environment variables if you add this to minnowmax.h:
 
@@ -812,6 +807,30 @@
 This is also tested on Intel Crown Bay board with a PCIe graphics card, booting
 SeaBIOS then chain-loading a GRUB on a USB drive, then Linux kernel finally.
 
+If you are using Intel Integrated Graphics Device (IGD) as the primary display
+device on your board, SeaBIOS needs to be patched manually to get its VGA ROM
+loaded and run by SeaBIOS. SeaBIOS locates VGA ROM via the PCI expansion ROM
+register, but IGD device does not have its VGA ROM mapped by this register.
+Its VGA ROM is packaged as part of u-boot.rom at a configurable flash address
+which is unknown to SeaBIOS. An example patch is needed for SeaBIOS below:
+
+diff --git a/src/optionroms.c b/src/optionroms.c
+index 65f7fe0..c7b6f5e 100644
+--- a/src/optionroms.c
++++ b/src/optionroms.c
+@@ -324,6 +324,8 @@ init_pcirom(struct pci_device *pci, int isvga, u64 *sources)
+         rom = deploy_romfile(file);
+     else if (RunPCIroms > 1 || (RunPCIroms == 1 && isvga))
+         rom = map_pcirom(pci);
++    if (pci->bdf == pci_to_bdf(0, 2, 0))
++        rom = (struct rom_header *)0xfff90000;
+     if (! rom)
+         // No ROM present.
+         return;
+
+Note: the patch above expects IGD device is at PCI b.d.f 0.2.0 and its VGA ROM
+is at 0xfff90000 which corresponds to CONFIG_VGA_BIOS_ADDR on Minnowboard MAX.
+Change these two accordingly if this is not the case on your board.
 
 Development Flow
 ----------------
@@ -963,12 +982,62 @@
 to U-Boot. This should go at the top of each file and list the coreboot
 filename where the code originated.
 
+Debugging ACPI issues with Windows:
+
+Windows might cache system information and only detect ACPI changes if you
+modify the ACPI table versions. So tweak them liberally when debugging ACPI
+issues with Windows.
+
+ACPI Support Status
+-------------------
+Advanced Configuration and Power Interface (ACPI) [16] aims to establish
+industry-standard interfaces enabling OS-directed configuration, power
+management, and thermal management of mobile, desktop, and server platforms.
+
+Linux can boot without ACPI with "acpi=off" command line parameter, but
+with ACPI the kernel gains the capabilities to handle power management.
+For Windows, ACPI is a must-have firmware feature since Windows Vista.
+CONFIG_GENERATE_ACPI_TABLE is the config option to turn on ACPI support in
+U-Boot. This requires Intel ACPI compiler to be installed on your host to
+compile ACPI DSDT table written in ASL format to AML format. You can get
+the compiler via "apt-get install iasl" if you are on Ubuntu or download
+the source from [17] to compile one by yourself.
+
+Current ACPI support in U-Boot is not complete. More features will be added
+in the future. The status as of today is:
+
+ * Support generating RSDT, XSDT, FACS, FADT, MADT, MCFG tables.
+ * Support one static DSDT table only, compiled by Intel ACPI compiler.
+ * Support S0/S5, reboot and shutdown from OS.
+ * Support booting a pre-installed Ubuntu distribution via 'zboot' command.
+ * Support installing and booting Ubuntu 14.04 (or above) from U-Boot with
+   the help of SeaBIOS using legacy interface (non-UEFI mode).
+ * Support installing and booting Windows 8.1/10 from U-Boot with the help
+   of SeaBIOS using legacy interface (non-UEFI mode).
+ * Support ACPI interrupts with SCI only.
+
+Features not supported so far (to make it a complete ACPI solution):
+ * S3 (Suspend to RAM), S4 (Suspend to Disk).
+
+Features that are optional:
+ * ACPI global NVS support. We may need it to simplify ASL code logic if
+   utilizing NVS variables. Most likely we will need this sooner or later.
+ * Dynamic AML bytecodes insertion at run-time. We may need this to support
+   SSDT table generation and DSDT fix up.
+ * SMI support. Since U-Boot is a modern bootloader, we don't want to bring
+   those legacy stuff into U-Boot. ACPI spec allows a system that does not
+   support SMI (a legacy-free system).
+
+So far ACPI is enabled on BayTrail based boards. Testing was done by booting
+a pre-installed Ubuntu 14.04 from a SATA drive. Installing Ubuntu 14.04 and
+Windows 8.1/10 to a SATA drive and booting from there is also tested. Most
+devices seem to work correctly and the board can respond a reboot/shutdown
+command from the OS.
 
 TODO List
 ---------
 - Audio
 - Chrome OS verified boot
-- SMI and ACPI support, to provide platform info and facilities to Linux
 
 References
 ----------
@@ -987,3 +1056,5 @@
 [13] http://events.linuxfoundation.org/sites/events/files/slides/elce-2014.pdf
 [14] http://www.seabios.org/SeaBIOS
 [15] doc/device-tree-bindings/misc/intel,irq-router.txt
+[16] http://www.acpi.info
+[17] https://www.acpica.org/downloads
diff --git a/doc/device-tree-bindings/misc/intel,irq-router.txt b/doc/device-tree-bindings/misc/intel,irq-router.txt
index e4d8ead..04ad346 100644
--- a/doc/device-tree-bindings/misc/intel,irq-router.txt
+++ b/doc/device-tree-bindings/misc/intel,irq-router.txt
@@ -14,6 +14,11 @@
       "ibase": IRQ routing is in the memory-mapped IBASE register block
 - intel,ibase-offset : IBASE register offset in the interrupt router's PCI
     configuration space, required only if intel,pirq-config = "ibase".
+- intel,actl-8bit : If ACTL (ACPI control) register width is 8-bit, this must
+    be specified. The 8-bit ACTL register is seen on ICH series chipset, like
+    ICH9/Panther Point/etc. On Atom chipset it is a 32-bit register.
+- intel,actl-addr : ACTL (ACPI control) register offset. ACTL can be either
+    in the interrupt router's PCI configuration space, or IBASE.
 - intel,pirq-link : Specifies the PIRQ link information with two cells. The
     first cell is the register offset that controls the first PIRQ link routing.
     The second cell is the total number of PIRQ links the router supports.
diff --git a/doc/device-tree-bindings/net/ti,dp83867.txt b/doc/device-tree-bindings/net/ti,dp83867.txt
new file mode 100644
index 0000000..cb77fdf
--- /dev/null
+++ b/doc/device-tree-bindings/net/ti,dp83867.txt
@@ -0,0 +1,25 @@
+* Texas Instruments - dp83867 Giga bit ethernet phy
+
+Required properties:
+	- reg - The ID number for the phy, usually a small integer
+	- ti,rx-internal-delay - RGMII Recieve Clock Delay - see dt-bindings/net/ti-dp83867.h
+		for applicable values
+	- ti,tx-internal-delay - RGMII Transmit Clock Delay - see dt-bindings/net/ti-dp83867.h
+		for applicable values
+	- ti,fifo-depth - Transmitt FIFO depth- see dt-bindings/net/ti-dp83867.h
+		for applicable values
+
+Default child nodes are standard Ethernet PHY device
+nodes as described in doc/devicetree/bindings/net/ethernet.txt
+
+Example:
+
+	ethernet-phy@0 {
+		reg = <0>;
+		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
+		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>;
+		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
+	};
+
+Datasheet can be found:
+http://www.ti.com/product/DP83867IR/datasheet
diff --git a/doc/device-tree-bindings/serial/qca,ar9330-uart.txt b/doc/device-tree-bindings/serial/qca,ar9330-uart.txt
new file mode 100644
index 0000000..ec576a1
--- /dev/null
+++ b/doc/device-tree-bindings/serial/qca,ar9330-uart.txt
@@ -0,0 +1,24 @@
+* Qualcomm Atheros AR9330 High-Speed UART
+
+Required properties:
+
+- compatible: Must be "qca,ar9330-uart"
+
+- reg: Specifies the physical base address of the controller and
+  the length of the memory mapped region.
+
+Additional requirements:
+
+  Each UART port must have an alias correctly numbered in "aliases"
+  node.
+
+Example:
+
+	aliases {
+		serial0 = &uart0;
+	};
+
+	uart0: uart@18020000 {
+		compatible = "qca,ar9330-uart";
+		reg = <0x18020000 0x14>;
+	};
diff --git a/doc/device-tree-bindings/spi/spi-ath79.txt b/doc/device-tree-bindings/spi/spi-ath79.txt
new file mode 100644
index 0000000..3fd9d67
--- /dev/null
+++ b/doc/device-tree-bindings/spi/spi-ath79.txt
@@ -0,0 +1,19 @@
+Binding for Qualcomm Atheros AR7xxx/AR9xxx SPI controller
+
+Required properties:
+- compatible: has to be "qca,<soc-type>-spi", "qca,ar7100-spi" as fallback.
+- reg: Base address and size of the controllers memory area
+- #address-cells: <1>, as required by generic SPI binding.
+- #size-cells: <0>, also as required by generic SPI binding.
+
+Child nodes as per the generic SPI binding.
+
+Example:
+
+	spi@1f000000 {
+		compatible = "qca,ar9132-spi", "qca,ar7100-spi";
+		reg = <0x1f000000 0x10>;
+
+		#address-cells = <1>;
+		#size-cells = <0>;
+	};
diff --git a/doc/uImage.FIT/multi-with-fpga.its b/doc/uImage.FIT/multi-with-fpga.its
new file mode 100644
index 0000000..0cdb31f
--- /dev/null
+++ b/doc/uImage.FIT/multi-with-fpga.its
@@ -0,0 +1,67 @@
+/*
+ * U-Boot uImage source file with multiple kernels, ramdisks and FDT blobs
+ * This example makes use of the 'loadables' field
+ */
+
+/dts-v1/;
+
+/ {
+	description = "Configuration to load fpga before Kernel";
+	#address-cells = <1>;
+
+	images {
+		fdt@1 {
+			description = "zc706";
+			data = /incbin/("/tftpboot/devicetree.dtb");
+			type = "flat_dt";
+			arch = "arm";
+			compression = "none";
+			load = <0x10000000>;
+			hash@1 {
+				algo = "md5";
+			};
+		};
+
+		fpga@1 {
+			description = "FPGA";
+			data = /incbin/("/tftpboot/download.bit");
+			type = "fpga";
+			arch = "arm";
+			compression = "none";
+			load = <0x30000000>;
+			hash@1 {
+				algo = "md5";
+			};
+		};
+
+		linux_kernel@1 {
+			description = "Linux";
+			data = /incbin/("/tftpboot/zImage");
+			type = "kernel";
+			arch = "arm";
+			os = "linux";
+			compression = "none";
+			load = <0x8000>;
+			entry = <0x8000>;
+			hash@1 {
+				algo = "md5";
+			};
+		};
+	};
+
+	configurations {
+		default = "config@2";
+		config@1 {
+			description = "Linux";
+			kernel = "linux_kernel@1";
+			fdt = "fdt@1";
+		};
+
+		config@2 {
+			description = "Linux with fpga";
+			kernel = "linux_kernel@1";
+			fdt = "fdt@1";
+			fpga = "fpga@1";
+		};
+	};
+};
diff --git a/doc/uImage.FIT/source_file_format.txt b/doc/uImage.FIT/source_file_format.txt
index 9c527c3..3f54180 100644
--- a/doc/uImage.FIT/source_file_format.txt
+++ b/doc/uImage.FIT/source_file_format.txt
@@ -236,6 +236,7 @@
   |- kernel = "kernel sub-node unit name"
   |- ramdisk = "ramdisk sub-node unit name"
   |- fdt = "fdt sub-node unit-name"
+  |- fpga = "fpga sub-node unit-name"
   |- loadables = "loadables sub-node unit-name"
 
 
@@ -251,6 +252,8 @@
     "fdt type").
   - setup : Unit name of the corresponding setup binary (used for booting
     an x86 kernel). This contains the setup.bin file built by the kernel.
+  - fpga : Unit name of the corresponding fpga bitstream blob
+    (component image node of a "fpga type").
   - loadables : Unit name containing a list of additional binaries to be
     loaded at their given locations.  "loadables" is a comma-separated list
     of strings. U-Boot will load each binary at its given start-address.
diff --git a/drivers/Makefile b/drivers/Makefile
index 6900097..99dd07f 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -36,6 +36,8 @@
 obj-$(CONFIG_SPL_USB_HOST_SUPPORT) += usb/host/
 obj-$(CONFIG_OMAP_USB_PHY) += usb/phy/
 obj-$(CONFIG_SPL_SATA_SUPPORT) += block/
+obj-$(CONFIG_SPL_USB_HOST_SUPPORT) += block/
+obj-$(CONFIG_SPL_MMC_SUPPORT) += block/
 
 else
 
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index fcc9ccd..80eea84 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -9,10 +9,9 @@
 	  be partitioned into several areas, called 'partitions' in U-Boot.
 	  A filesystem can be placed in each partition.
 
-config DISK
-	bool "Support disk controllers with driver model"
+config AHCI
+	bool "Support SATA controllers with driver model"
 	depends on DM
-	default y if DM
 	help
 	  This enables a uclass for disk controllers in U-Boot. Various driver
 	  types can use this, such as AHCI/SATA. It does not provide any standard
diff --git a/drivers/block/Makefile b/drivers/block/Makefile
index a43492f..436b79f 100644
--- a/drivers/block/Makefile
+++ b/drivers/block/Makefile
@@ -7,7 +7,11 @@
 
 obj-$(CONFIG_BLK) += blk-uclass.o
 
-obj-$(CONFIG_DISK) += disk-uclass.o
+ifndef CONFIG_BLK
+obj-y += blk_legacy.o
+endif
+
+obj-$(CONFIG_AHCI) += ahci-uclass.o
 obj-$(CONFIG_SCSI_AHCI) += ahci.o
 obj-$(CONFIG_DWC_AHSATA) += dwc_ahsata.o
 obj-$(CONFIG_FSL_SATA) += fsl_sata.o
@@ -22,7 +26,7 @@
 obj-$(CONFIG_SATA_SIL3114) += sata_sil3114.o
 obj-$(CONFIG_SATA_SIL) += sata_sil.o
 obj-$(CONFIG_IDE_SIL680) += sil680.o
-obj-$(CONFIG_SANDBOX) += sandbox.o
+obj-$(CONFIG_SANDBOX) += sandbox.o sandbox_scsi.o sata_sandbox.o
 obj-$(CONFIG_SCSI_SYM53C8XX) += sym53c8xx.o
 obj-$(CONFIG_SYSTEMACE) += systemace.o
 obj-$(CONFIG_BLOCK_CACHE) += blkcache.o
diff --git a/drivers/block/disk-uclass.c b/drivers/block/ahci-uclass.c
similarity index 72%
rename from drivers/block/disk-uclass.c
rename to drivers/block/ahci-uclass.c
index d665b35..7b8c326 100644
--- a/drivers/block/disk-uclass.c
+++ b/drivers/block/ahci-uclass.c
@@ -8,7 +8,7 @@
 #include <common.h>
 #include <dm.h>
 
-UCLASS_DRIVER(disk) = {
-	.id		= UCLASS_DISK,
-	.name		= "disk",
+UCLASS_DRIVER(ahci) = {
+	.id		= UCLASS_AHCI,
+	.name		= "ahci",
 };
diff --git a/drivers/block/blk-uclass.c b/drivers/block/blk-uclass.c
index 617db22..6ba1026 100644
--- a/drivers/block/blk-uclass.c
+++ b/drivers/block/blk-uclass.c
@@ -11,6 +11,315 @@
 #include <dm/device-internal.h>
 #include <dm/lists.h>
 
+static const char *if_typename_str[IF_TYPE_COUNT] = {
+	[IF_TYPE_IDE]		= "ide",
+	[IF_TYPE_SCSI]		= "scsi",
+	[IF_TYPE_ATAPI]		= "atapi",
+	[IF_TYPE_USB]		= "usb",
+	[IF_TYPE_DOC]		= "doc",
+	[IF_TYPE_MMC]		= "mmc",
+	[IF_TYPE_SD]		= "sd",
+	[IF_TYPE_SATA]		= "sata",
+	[IF_TYPE_HOST]		= "host",
+	[IF_TYPE_SYSTEMACE]	= "ace",
+};
+
+static enum uclass_id if_type_uclass_id[IF_TYPE_COUNT] = {
+	[IF_TYPE_IDE]		= UCLASS_INVALID,
+	[IF_TYPE_SCSI]		= UCLASS_INVALID,
+	[IF_TYPE_ATAPI]		= UCLASS_INVALID,
+	[IF_TYPE_USB]		= UCLASS_MASS_STORAGE,
+	[IF_TYPE_DOC]		= UCLASS_INVALID,
+	[IF_TYPE_MMC]		= UCLASS_MMC,
+	[IF_TYPE_SD]		= UCLASS_INVALID,
+	[IF_TYPE_SATA]		= UCLASS_AHCI,
+	[IF_TYPE_HOST]		= UCLASS_ROOT,
+	[IF_TYPE_SYSTEMACE]	= UCLASS_INVALID,
+};
+
+static enum if_type if_typename_to_iftype(const char *if_typename)
+{
+	int i;
+
+	for (i = 0; i < IF_TYPE_COUNT; i++) {
+		if (if_typename_str[i] &&
+		    !strcmp(if_typename, if_typename_str[i]))
+			return i;
+	}
+
+	return IF_TYPE_UNKNOWN;
+}
+
+static enum uclass_id if_type_to_uclass_id(enum if_type if_type)
+{
+	return if_type_uclass_id[if_type];
+}
+
+struct blk_desc *blk_get_devnum_by_type(enum if_type if_type, int devnum)
+{
+	struct blk_desc *desc;
+	struct udevice *dev;
+	int ret;
+
+	ret = blk_get_device(if_type, devnum, &dev);
+	if (ret)
+		return NULL;
+	desc = dev_get_uclass_platdata(dev);
+
+	return desc;
+}
+
+/*
+ * This function is complicated with driver model. We look up the interface
+ * name in a local table. This gives us an interface type which we can match
+ * against the uclass of the block device's parent.
+ */
+struct blk_desc *blk_get_devnum_by_typename(const char *if_typename, int devnum)
+{
+	enum uclass_id uclass_id;
+	enum if_type if_type;
+	struct udevice *dev;
+	struct uclass *uc;
+	int ret;
+
+	if_type = if_typename_to_iftype(if_typename);
+	if (if_type == IF_TYPE_UNKNOWN) {
+		debug("%s: Unknown interface type '%s'\n", __func__,
+		      if_typename);
+		return NULL;
+	}
+	uclass_id = if_type_to_uclass_id(if_type);
+	if (uclass_id == UCLASS_INVALID) {
+		debug("%s: Unknown uclass for interface type'\n",
+		      if_typename_str[if_type]);
+		return NULL;
+	}
+
+	ret = uclass_get(UCLASS_BLK, &uc);
+	if (ret)
+		return NULL;
+	uclass_foreach_dev(dev, uc) {
+		struct blk_desc *desc = dev_get_uclass_platdata(dev);
+
+		debug("%s: if_type=%d, devnum=%d: %s, %d, %d\n", __func__,
+		      if_type, devnum, dev->name, desc->if_type, desc->devnum);
+		if (desc->devnum != devnum)
+			continue;
+
+		/* Find out the parent device uclass */
+		if (device_get_uclass_id(dev->parent) != uclass_id) {
+			debug("%s: parent uclass %d, this dev %d\n", __func__,
+			      device_get_uclass_id(dev->parent), uclass_id);
+			continue;
+		}
+
+		if (device_probe(dev))
+			return NULL;
+
+		debug("%s: Device desc %p\n", __func__, desc);
+		return desc;
+	}
+	debug("%s: No device found\n", __func__);
+
+	return NULL;
+}
+
+/**
+ * get_desc() - Get the block device descriptor for the given device number
+ *
+ * @if_type:	Interface type
+ * @devnum:	Device number (0 = first)
+ * @descp:	Returns block device descriptor on success
+ * @return 0 on success, -ENODEV if there is no such device and no device
+ * with a higher device number, -ENOENT if there is no such device but there
+ * is one with a higher number, or other -ve on other error.
+ */
+static int get_desc(enum if_type if_type, int devnum, struct blk_desc **descp)
+{
+	bool found_more = false;
+	struct udevice *dev;
+	struct uclass *uc;
+	int ret;
+
+	*descp = NULL;
+	ret = uclass_get(UCLASS_BLK, &uc);
+	if (ret)
+		return ret;
+	uclass_foreach_dev(dev, uc) {
+		struct blk_desc *desc = dev_get_uclass_platdata(dev);
+
+		debug("%s: if_type=%d, devnum=%d: %s, %d, %d\n", __func__,
+		      if_type, devnum, dev->name, desc->if_type, desc->devnum);
+		if (desc->if_type == if_type) {
+			if (desc->devnum == devnum) {
+				ret = device_probe(dev);
+				if (ret)
+					return ret;
+
+			} else if (desc->devnum > devnum) {
+				found_more = true;
+			}
+		}
+	}
+
+	return found_more ? -ENOENT : -ENODEV;
+}
+
+int blk_select_hwpart_devnum(enum if_type if_type, int devnum, int hwpart)
+{
+	struct udevice *dev;
+	int ret;
+
+	ret = blk_get_device(if_type, devnum, &dev);
+	if (ret)
+		return ret;
+
+	return blk_select_hwpart(dev, hwpart);
+}
+
+int blk_list_part(enum if_type if_type)
+{
+	struct blk_desc *desc;
+	int devnum, ok;
+	int ret;
+
+	for (ok = 0, devnum = 0;; ++devnum) {
+		ret = get_desc(if_type, devnum, &desc);
+		if (ret == -ENODEV)
+			break;
+		else if (ret)
+			continue;
+		if (desc->part_type != PART_TYPE_UNKNOWN) {
+			++ok;
+			if (devnum)
+				putc('\n');
+			part_print(desc);
+		}
+	}
+	if (!ok)
+		return -ENODEV;
+
+	return 0;
+}
+
+int blk_print_part_devnum(enum if_type if_type, int devnum)
+{
+	struct blk_desc *desc;
+	int ret;
+
+	ret = get_desc(if_type, devnum, &desc);
+	if (ret)
+		return ret;
+	if (desc->type == DEV_TYPE_UNKNOWN)
+		return -ENOENT;
+	part_print(desc);
+
+	return 0;
+}
+
+void blk_list_devices(enum if_type if_type)
+{
+	struct blk_desc *desc;
+	int ret;
+	int i;
+
+	for (i = 0;; ++i) {
+		ret = get_desc(if_type, i, &desc);
+		if (ret == -ENODEV)
+			break;
+		else if (ret)
+			continue;
+		if (desc->type == DEV_TYPE_UNKNOWN)
+			continue;  /* list only known devices */
+		printf("Device %d: ", i);
+		dev_print(desc);
+	}
+}
+
+int blk_print_device_num(enum if_type if_type, int devnum)
+{
+	struct blk_desc *desc;
+	int ret;
+
+	ret = get_desc(if_type, devnum, &desc);
+	if (ret)
+		return ret;
+	printf("\nIDE device %d: ", devnum);
+	dev_print(desc);
+
+	return 0;
+}
+
+int blk_show_device(enum if_type if_type, int devnum)
+{
+	struct blk_desc *desc;
+	int ret;
+
+	printf("\nDevice %d: ", devnum);
+	ret = get_desc(if_type, devnum, &desc);
+	if (ret == -ENODEV || ret == -ENOENT) {
+		printf("unknown device\n");
+		return -ENODEV;
+	}
+	if (ret)
+		return ret;
+	dev_print(desc);
+
+	if (desc->type == DEV_TYPE_UNKNOWN)
+		return -ENOENT;
+
+	return 0;
+}
+
+ulong blk_read_devnum(enum if_type if_type, int devnum, lbaint_t start,
+		      lbaint_t blkcnt, void *buffer)
+{
+	struct blk_desc *desc;
+	ulong n;
+	int ret;
+
+	ret = get_desc(if_type, devnum, &desc);
+	if (ret)
+		return ret;
+	n = blk_dread(desc, start, blkcnt, buffer);
+	if (IS_ERR_VALUE(n))
+		return n;
+
+	/* flush cache after read */
+	flush_cache((ulong)buffer, blkcnt * desc->blksz);
+
+	return n;
+}
+
+ulong blk_write_devnum(enum if_type if_type, int devnum, lbaint_t start,
+		       lbaint_t blkcnt, const void *buffer)
+{
+	struct blk_desc *desc;
+	int ret;
+
+	ret = get_desc(if_type, devnum, &desc);
+	if (ret)
+		return ret;
+	return blk_dwrite(desc, start, blkcnt, buffer);
+}
+
+int blk_select_hwpart(struct udevice *dev, int hwpart)
+{
+	const struct blk_ops *ops = blk_get_ops(dev);
+
+	if (!ops)
+		return -ENOSYS;
+	if (!ops->select_hwpart)
+		return 0;
+
+	return ops->select_hwpart(dev, hwpart);
+}
+
+int blk_dselect_hwpart(struct blk_desc *desc, int hwpart)
+{
+	return blk_select_hwpart(desc->bdev, hwpart);
+}
+
 int blk_first_device(int if_type, struct udevice **devp)
 {
 	struct blk_desc *desc;
@@ -131,6 +440,26 @@
 	return 0;
 }
 
+int blk_find_max_devnum(enum if_type if_type)
+{
+	struct udevice *dev;
+	int max_devnum = -ENODEV;
+	struct uclass *uc;
+	int ret;
+
+	ret = uclass_get(UCLASS_BLK, &uc);
+	if (ret)
+		return ret;
+	uclass_foreach_dev(dev, uc) {
+		struct blk_desc *desc = dev_get_uclass_platdata(dev);
+
+		if (desc->if_type == if_type && desc->devnum > max_devnum)
+			max_devnum = desc->devnum;
+	}
+
+	return max_devnum;
+}
+
 int blk_create_device(struct udevice *parent, const char *drv_name,
 		      const char *name, int if_type, int devnum, int blksz,
 		      lbaint_t size, struct udevice **devp)
@@ -139,6 +468,15 @@
 	struct udevice *dev;
 	int ret;
 
+	if (devnum == -1) {
+		ret = blk_find_max_devnum(if_type);
+		if (ret == -ENODEV)
+			devnum = 0;
+		else if (ret < 0)
+			return ret;
+		else
+			devnum = ret + 1;
+	}
 	ret = device_bind_driver(parent, drv_name, name, &dev);
 	if (ret)
 		return ret;
@@ -154,6 +492,29 @@
 	return 0;
 }
 
+int blk_create_devicef(struct udevice *parent, const char *drv_name,
+		       const char *name, int if_type, int devnum, int blksz,
+		       lbaint_t size, struct udevice **devp)
+{
+	char dev_name[30], *str;
+	int ret;
+
+	snprintf(dev_name, sizeof(dev_name), "%s.%s", parent->name, name);
+	str = strdup(dev_name);
+	if (!str)
+		return -ENOMEM;
+
+	ret = blk_create_device(parent, drv_name, str, if_type, devnum,
+				blksz, size, devp);
+	if (ret) {
+		free(str);
+		return ret;
+	}
+	device_set_name_alloced(*devp);
+
+	return ret;
+}
+
 int blk_unbind_all(int if_type)
 {
 	struct uclass *uc;
diff --git a/drivers/block/blk_legacy.c b/drivers/block/blk_legacy.c
new file mode 100644
index 0000000..7b90a8a
--- /dev/null
+++ b/drivers/block/blk_legacy.c
@@ -0,0 +1,261 @@
+/*
+ * Copyright (C) 2016 Google, Inc
+ * Written by Simon Glass <sjg@chromium.org>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <linux/err.h>
+
+struct blk_driver *blk_driver_lookup_type(int if_type)
+{
+	struct blk_driver *drv = ll_entry_start(struct blk_driver, blk_driver);
+	const int n_ents = ll_entry_count(struct blk_driver, blk_driver);
+	struct blk_driver *entry;
+
+	for (entry = drv; entry != drv + n_ents; entry++) {
+		if (if_type == entry->if_type)
+			return entry;
+	}
+
+	/* Not found */
+	return NULL;
+}
+
+static struct blk_driver *blk_driver_lookup_typename(const char *if_typename)
+{
+	struct blk_driver *drv = ll_entry_start(struct blk_driver, blk_driver);
+	const int n_ents = ll_entry_count(struct blk_driver, blk_driver);
+	struct blk_driver *entry;
+
+	for (entry = drv; entry != drv + n_ents; entry++) {
+		if (!strcmp(if_typename, entry->if_typename))
+			return entry;
+	}
+
+	/* Not found */
+	return NULL;
+}
+
+/**
+ * get_desc() - Get the block device descriptor for the given device number
+ *
+ * @drv:	Legacy block driver
+ * @devnum:	Device number (0 = first)
+ * @descp:	Returns block device descriptor on success
+ * @return 0 on success, -ENODEV if there is no such device, -ENOSYS if the
+ * driver does not provide a way to find a device, or other -ve on other
+ * error.
+ */
+static int get_desc(struct blk_driver *drv, int devnum, struct blk_desc **descp)
+{
+	if (drv->desc) {
+		if (devnum < 0 || devnum >= drv->max_devs)
+			return -ENODEV;
+		*descp = &drv->desc[devnum];
+		return 0;
+	}
+	if (!drv->get_dev)
+		return -ENOSYS;
+
+	return drv->get_dev(devnum, descp);
+}
+
+#ifdef HAVE_BLOCK_DEVICE
+int blk_list_part(enum if_type if_type)
+{
+	struct blk_driver *drv;
+	struct blk_desc *desc;
+	int devnum, ok;
+	bool first = true;
+
+	drv = blk_driver_lookup_type(if_type);
+	if (!drv)
+		return -ENOSYS;
+	for (ok = 0, devnum = 0; devnum < drv->max_devs; ++devnum) {
+		if (get_desc(drv, devnum, &desc))
+			continue;
+		if (desc->part_type != PART_TYPE_UNKNOWN) {
+			++ok;
+			if (!first)
+				putc('\n');
+			part_print(desc);
+			first = false;
+		}
+	}
+	if (!ok)
+		return -ENODEV;
+
+	return 0;
+}
+
+int blk_print_part_devnum(enum if_type if_type, int devnum)
+{
+	struct blk_driver *drv = blk_driver_lookup_type(if_type);
+	struct blk_desc *desc;
+	int ret;
+
+	if (!drv)
+		return -ENOSYS;
+	ret = get_desc(drv, devnum, &desc);
+	if (ret)
+		return ret;
+	if (desc->type == DEV_TYPE_UNKNOWN)
+		return -ENOENT;
+	part_print(desc);
+
+	return 0;
+}
+
+void blk_list_devices(enum if_type if_type)
+{
+	struct blk_driver *drv = blk_driver_lookup_type(if_type);
+	struct blk_desc *desc;
+	int i;
+
+	if (!drv)
+		return;
+	for (i = 0; i < drv->max_devs; ++i) {
+		if (get_desc(drv, i, &desc))
+			continue;
+		if (desc->type == DEV_TYPE_UNKNOWN)
+			continue;  /* list only known devices */
+		printf("Device %d: ", i);
+		dev_print(desc);
+	}
+}
+
+int blk_print_device_num(enum if_type if_type, int devnum)
+{
+	struct blk_driver *drv = blk_driver_lookup_type(if_type);
+	struct blk_desc *desc;
+	int ret;
+
+	if (!drv)
+		return -ENOSYS;
+	ret = get_desc(drv, devnum, &desc);
+	if (ret)
+		return ret;
+	printf("\n%s device %d: ", drv->if_typename, devnum);
+	dev_print(desc);
+
+	return 0;
+}
+
+int blk_show_device(enum if_type if_type, int devnum)
+{
+	struct blk_driver *drv = blk_driver_lookup_type(if_type);
+	struct blk_desc *desc;
+	int ret;
+
+	if (!drv)
+		return -ENOSYS;
+	printf("\nDevice %d: ", devnum);
+	if (devnum >= drv->max_devs) {
+		puts("unknown device\n");
+		return -ENODEV;
+	}
+	ret = get_desc(drv, devnum, &desc);
+	if (ret)
+		return ret;
+	dev_print(desc);
+
+	if (desc->type == DEV_TYPE_UNKNOWN)
+		return -ENOENT;
+
+	return 0;
+}
+#endif /* HAVE_BLOCK_DEVICE */
+
+struct blk_desc *blk_get_devnum_by_type(enum if_type if_type, int devnum)
+{
+	struct blk_driver *drv = blk_driver_lookup_type(if_type);
+	struct blk_desc *desc;
+
+	if (!drv)
+		return NULL;
+
+	if (get_desc(drv, devnum, &desc))
+		return NULL;
+
+	return desc;
+}
+
+int blk_dselect_hwpart(struct blk_desc *desc, int hwpart)
+{
+	struct blk_driver *drv = blk_driver_lookup_type(desc->if_type);
+
+	if (!drv)
+		return -ENOSYS;
+	if (drv->select_hwpart)
+		return drv->select_hwpart(desc, hwpart);
+
+	return 0;
+}
+
+struct blk_desc *blk_get_devnum_by_typename(const char *if_typename, int devnum)
+{
+	struct blk_driver *drv = blk_driver_lookup_typename(if_typename);
+	struct blk_desc *desc;
+
+	if (!drv)
+		return NULL;
+
+	if (get_desc(drv, devnum, &desc))
+		return NULL;
+
+	return desc;
+}
+
+ulong blk_read_devnum(enum if_type if_type, int devnum, lbaint_t start,
+		      lbaint_t blkcnt, void *buffer)
+{
+	struct blk_driver *drv = blk_driver_lookup_type(if_type);
+	struct blk_desc *desc;
+	ulong n;
+	int ret;
+
+	if (!drv)
+		return -ENOSYS;
+	ret = get_desc(drv, devnum, &desc);
+	if (ret)
+		return ret;
+	n = desc->block_read(desc, start, blkcnt, buffer);
+	if (IS_ERR_VALUE(n))
+		return n;
+
+	/* flush cache after read */
+	flush_cache((ulong)buffer, blkcnt * desc->blksz);
+
+	return n;
+}
+
+ulong blk_write_devnum(enum if_type if_type, int devnum, lbaint_t start,
+		       lbaint_t blkcnt, const void *buffer)
+{
+	struct blk_driver *drv = blk_driver_lookup_type(if_type);
+	struct blk_desc *desc;
+	int ret;
+
+	if (!drv)
+		return -ENOSYS;
+	ret = get_desc(drv, devnum, &desc);
+	if (ret)
+		return ret;
+	return desc->block_write(desc, start, blkcnt, buffer);
+}
+
+int blk_select_hwpart_devnum(enum if_type if_type, int devnum, int hwpart)
+{
+	struct blk_driver *drv = blk_driver_lookup_type(if_type);
+	struct blk_desc *desc;
+	int ret;
+
+	if (!drv)
+		return -ENOSYS;
+	ret = get_desc(drv, devnum, &desc);
+	if (ret)
+		return ret;
+	return drv->select_hwpart(desc, hwpart);
+}
diff --git a/drivers/block/sandbox.c b/drivers/block/sandbox.c
index 2d340ef..ac28f83 100644
--- a/drivers/block/sandbox.c
+++ b/drivers/block/sandbox.c
@@ -17,6 +17,19 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifndef CONFIG_BLK
+static struct host_block_dev host_devices[CONFIG_HOST_MAX_DEVICES];
+
+static struct host_block_dev *find_host_device(int dev)
+{
+	if (dev >= 0 && dev < CONFIG_HOST_MAX_DEVICES)
+		return &host_devices[dev];
+
+	return NULL;
+}
+#endif
+
+#ifdef CONFIG_BLK
 static unsigned long host_block_read(struct udevice *dev,
 				     unsigned long start, lbaint_t blkcnt,
 				     void *buffer)
@@ -24,6 +37,18 @@
 	struct host_block_dev *host_dev = dev_get_priv(dev);
 	struct blk_desc *block_dev = dev_get_uclass_platdata(dev);
 
+#else
+static unsigned long host_block_read(struct blk_desc *block_dev,
+				     unsigned long start, lbaint_t blkcnt,
+				     void *buffer)
+{
+	int dev = block_dev->devnum;
+	struct host_block_dev *host_dev = find_host_device(dev);
+
+	if (!host_dev)
+		return -1;
+#endif
+
 	if (os_lseek(host_dev->fd, start * block_dev->blksz, OS_SEEK_SET) ==
 			-1) {
 		printf("ERROR: Invalid block %lx\n", start);
@@ -35,12 +60,21 @@
 	return -1;
 }
 
+#ifdef CONFIG_BLK
 static unsigned long host_block_write(struct udevice *dev,
 				      unsigned long start, lbaint_t blkcnt,
 				      const void *buffer)
 {
 	struct host_block_dev *host_dev = dev_get_priv(dev);
 	struct blk_desc *block_dev = dev_get_uclass_platdata(dev);
+#else
+static unsigned long host_block_write(struct blk_desc *block_dev,
+				      unsigned long start, lbaint_t blkcnt,
+				      const void *buffer)
+{
+	int dev = block_dev->devnum;
+	struct host_block_dev *host_dev = find_host_device(dev);
+#endif
 
 	if (os_lseek(host_dev->fd, start * block_dev->blksz, OS_SEEK_SET) ==
 			-1) {
@@ -53,6 +87,7 @@
 	return -1;
 }
 
+#ifdef CONFIG_BLK
 int host_dev_bind(int devnum, char *filename)
 {
 	struct host_block_dev *host_dev;
@@ -115,9 +150,51 @@
 	free(str);
 	return ret;
 }
+#else
+int host_dev_bind(int dev, char *filename)
+{
+	struct host_block_dev *host_dev = find_host_device(dev);
+
+	if (!host_dev)
+		return -1;
+	if (host_dev->blk_dev.priv) {
+		os_close(host_dev->fd);
+		host_dev->blk_dev.priv = NULL;
+	}
+	if (host_dev->filename)
+		free(host_dev->filename);
+	if (filename && *filename) {
+		host_dev->filename = strdup(filename);
+	} else {
+		host_dev->filename = NULL;
+		return 0;
+	}
+
+	host_dev->fd = os_open(host_dev->filename, OS_O_RDWR);
+	if (host_dev->fd == -1) {
+		printf("Failed to access host backing file '%s'\n",
+		       host_dev->filename);
+		return 1;
+	}
+
+	struct blk_desc *blk_dev = &host_dev->blk_dev;
+	blk_dev->if_type = IF_TYPE_HOST;
+	blk_dev->priv = host_dev;
+	blk_dev->blksz = 512;
+	blk_dev->lba = os_lseek(host_dev->fd, 0, OS_SEEK_END) / blk_dev->blksz;
+	blk_dev->block_read = host_block_read;
+	blk_dev->block_write = host_block_write;
+	blk_dev->devnum = dev;
+	blk_dev->part_type = PART_TYPE_UNKNOWN;
+	part_init(blk_dev);
+
+	return 0;
+}
+#endif
 
 int host_get_dev_err(int devnum, struct blk_desc **blk_devp)
 {
+#ifdef CONFIG_BLK
 	struct udevice *dev;
 	int ret;
 
@@ -125,20 +202,22 @@
 	if (ret)
 		return ret;
 	*blk_devp = dev_get_uclass_platdata(dev);
+#else
+	struct host_block_dev *host_dev = find_host_device(devnum);
+
+	if (!host_dev)
+		return -ENODEV;
+
+	if (!host_dev->blk_dev.priv)
+		return -ENOENT;
+
+	*blk_devp = &host_dev->blk_dev;
+#endif
 
 	return 0;
 }
 
-struct blk_desc *host_get_dev(int dev)
-{
-	struct blk_desc *blk_dev;
-
-	if (host_get_dev_err(dev, &blk_dev))
-		return NULL;
-
-	return blk_dev;
-}
-
+#ifdef CONFIG_BLK
 static const struct blk_ops sandbox_host_blk_ops = {
 	.read	= host_block_read,
 	.write	= host_block_write,
@@ -150,3 +229,11 @@
 	.ops		= &sandbox_host_blk_ops,
 	.priv_auto_alloc_size	= sizeof(struct host_block_dev),
 };
+#else
+U_BOOT_LEGACY_BLK(sandbox_host) = {
+	.if_typename	= "host",
+	.if_type	= IF_TYPE_HOST,
+	.max_devs	= CONFIG_HOST_MAX_DEVICES,
+	.get_dev	= host_get_dev_err,
+};
+#endif
diff --git a/drivers/block/sandbox_scsi.c b/drivers/block/sandbox_scsi.c
new file mode 100644
index 0000000..ad961bd
--- /dev/null
+++ b/drivers/block/sandbox_scsi.c
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2015 Google, Inc
+ * Written by Simon Glass <sjg@chromium.org>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ *
+ * This file contains dummy implementations of SCSI functions requried so
+ * that CONFIG_SCSI can be enabled for sandbox.
+ */
+
+#include <common.h>
+#include <scsi.h>
+
+void scsi_bus_reset(void)
+{
+}
+
+void scsi_init(void)
+{
+}
+
+int scsi_exec(ccb *pccb)
+{
+	return 0;
+}
+
+void scsi_print_error(ccb *pccb)
+{
+}
diff --git a/drivers/block/sata_sandbox.c b/drivers/block/sata_sandbox.c
new file mode 100644
index 0000000..bd967d2
--- /dev/null
+++ b/drivers/block/sata_sandbox.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2015 Google, Inc
+ * Written by Simon Glass <sjg@chromium.org>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+
+int init_sata(int dev)
+{
+	return 0;
+}
+
+int reset_sata(int dev)
+{
+	return 0;
+}
+
+int scan_sata(int dev)
+{
+	return 0;
+}
+
+ulong sata_read(int dev, ulong blknr, lbaint_t blkcnt, void *buffer)
+{
+	return 0;
+}
+
+ulong sata_write(int dev, ulong blknr, lbaint_t blkcnt, const void *buffer)
+{
+	return 0;
+}
diff --git a/drivers/block/sym53c8xx.c b/drivers/block/sym53c8xx.c
index c7c40af..5daede7 100644
--- a/drivers/block/sym53c8xx.c
+++ b/drivers/block/sym53c8xx.c
@@ -33,7 +33,7 @@
 #define PRINTF(fmt,args...)
 #endif
 
-#if defined(CONFIG_CMD_SCSI) && defined(CONFIG_SCSI_SYM53C8XX)
+#if defined(CONFIG_SCSI) && defined(CONFIG_SCSI_SYM53C8XX)
 
 #undef SCSI_SINGLE_STEP
 /*
diff --git a/drivers/block/systemace.c b/drivers/block/systemace.c
index 09fe834..9392bea 100644
--- a/drivers/block/systemace.c
+++ b/drivers/block/systemace.c
@@ -27,7 +27,7 @@
 
 #include <common.h>
 #include <command.h>
-#include <systemace.h>
+#include <dm.h>
 #include <part.h>
 #include <asm/io.h>
 
@@ -69,11 +69,9 @@
 	return in16(base + off);
 }
 
-static unsigned long systemace_read(struct blk_desc *block_dev,
-				    unsigned long start, lbaint_t blkcnt,
-				    void *buffer);
-
+#ifndef CONFIG_BLK
 static struct blk_desc systemace_dev = { 0 };
+#endif
 
 static int get_cf_lock(void)
 {
@@ -104,42 +102,19 @@
 	ace_writew((val & 0xffff), 0x18);
 }
 
-#ifdef CONFIG_PARTITIONS
-struct blk_desc *systemace_get_dev(int dev)
-{
-	/* The first time through this, the systemace_dev object is
-	   not yet initialized. In that case, fill it in. */
-	if (systemace_dev.blksz == 0) {
-		systemace_dev.if_type = IF_TYPE_UNKNOWN;
-		systemace_dev.devnum = 0;
-		systemace_dev.part_type = PART_TYPE_UNKNOWN;
-		systemace_dev.type = DEV_TYPE_HARDDISK;
-		systemace_dev.blksz = 512;
-		systemace_dev.log2blksz = LOG2(systemace_dev.blksz);
-		systemace_dev.removable = 1;
-		systemace_dev.block_read = systemace_read;
-
-		/*
-		 * Ensure the correct bus mode (8/16 bits) gets enabled
-		 */
-		ace_writew(width == 8 ? 0 : 0x0001, 0);
-
-		part_init(&systemace_dev);
-
-	}
-
-	return &systemace_dev;
-}
-#endif
-
 /*
  * This function is called (by dereferencing the block_read pointer in
  * the dev_desc) to read blocks of data. The return value is the
  * number of blocks read. A zero return indicates an error.
  */
+#ifdef CONFIG_BLK
+static unsigned long systemace_read(struct udevice *dev, unsigned long start,
+				    lbaint_t blkcnt, void *buffer)
+#else
 static unsigned long systemace_read(struct blk_desc *block_dev,
 				    unsigned long start, lbaint_t blkcnt,
 				    void *buffer)
+#endif
 {
 	int retry;
 	unsigned blk_countdown;
@@ -257,3 +232,72 @@
 
 	return blkcnt;
 }
+
+#ifdef CONFIG_BLK
+static int systemace_bind(struct udevice *dev)
+{
+	struct blk_desc *bdesc;
+	struct udevice *bdev;
+	int ret;
+
+	ret = blk_create_devicef(dev, "systemace_blk", "blk", IF_TYPE_SYSTEMACE,
+				 -1, 512, 0, &bdev);
+	if (ret) {
+		debug("Cannot create block device\n");
+		return ret;
+	}
+	bdesc = dev_get_uclass_platdata(bdev);
+	bdesc->removable = 1;
+	bdesc->part_type = PART_TYPE_UNKNOWN;
+	bdesc->log2blksz = LOG2(bdesc->blksz);
+
+	/* Ensure the correct bus mode (8/16 bits) gets enabled */
+	ace_writew(width == 8 ? 0 : 0x0001, 0);
+
+	return 0;
+}
+
+static const struct blk_ops systemace_blk_ops = {
+	.read	= systemace_read,
+};
+
+U_BOOT_DRIVER(systemace_blk) = {
+	.name		= "systemace_blk",
+	.id		= UCLASS_BLK,
+	.ops		= &systemace_blk_ops,
+	.bind		= systemace_bind,
+};
+#else
+static int systemace_get_dev(int dev, struct blk_desc **descp)
+{
+	/* The first time through this, the systemace_dev object is
+	   not yet initialized. In that case, fill it in. */
+	if (systemace_dev.blksz == 0) {
+		systemace_dev.if_type = IF_TYPE_UNKNOWN;
+		systemace_dev.devnum = 0;
+		systemace_dev.part_type = PART_TYPE_UNKNOWN;
+		systemace_dev.type = DEV_TYPE_HARDDISK;
+		systemace_dev.blksz = 512;
+		systemace_dev.log2blksz = LOG2(systemace_dev.blksz);
+		systemace_dev.removable = 1;
+		systemace_dev.block_read = systemace_read;
+
+		/*
+		 * Ensure the correct bus mode (8/16 bits) gets enabled
+		 */
+		ace_writew(width == 8 ? 0 : 0x0001, 0);
+
+		part_init(&systemace_dev);
+	}
+	*descp = &systemace_dev;
+
+	return 0;
+}
+
+U_BOOT_LEGACY_BLK(systemace) = {
+	.if_typename	= "ace",
+	.if_type	= IF_TYPE_SYSTEMACE,
+	.max_devs	= 1,
+	.get_dev	= systemace_get_dev,
+};
+#endif
diff --git a/drivers/core/device-remove.c b/drivers/core/device-remove.c
index e1714b2..0e56b23 100644
--- a/drivers/core/device-remove.c
+++ b/drivers/core/device-remove.c
@@ -112,6 +112,8 @@
 
 	devres_release_all(dev);
 
+	if (dev->flags & DM_NAME_ALLOCED)
+		free((char *)dev->name);
 	free(dev);
 
 	return 0;
diff --git a/drivers/core/device.c b/drivers/core/device.c
index 1322991..45d5e3e 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -657,8 +657,8 @@
 #if CONFIG_IS_ENABLED(OF_CONTROL)
 	int index;
 
-	index = fdt_find_string(gd->fdt_blob, dev->parent->of_offset,
-				"reg-names", name);
+	index = fdt_find_string(gd->fdt_blob, dev->of_offset, "reg-names",
+				name);
 	if (index < 0)
 		return index;
 
@@ -706,12 +706,32 @@
 	return list_is_last(&dev->sibling_node, &parent->child_head);
 }
 
+void device_set_name_alloced(struct udevice *dev)
+{
+	dev->flags |= DM_NAME_ALLOCED;
+}
+
 int device_set_name(struct udevice *dev, const char *name)
 {
 	name = strdup(name);
 	if (!name)
 		return -ENOMEM;
 	dev->name = name;
+	device_set_name_alloced(dev);
 
 	return 0;
 }
+
+bool of_device_is_compatible(struct udevice *dev, const char *compat)
+{
+	const void *fdt = gd->fdt_blob;
+
+	return !fdt_node_check_compatible(fdt, dev->of_offset, compat);
+}
+
+bool of_machine_is_compatible(const char *compat)
+{
+	const void *fdt = gd->fdt_blob;
+
+	return !fdt_node_check_compatible(fdt, 0, compat);
+}
diff --git a/drivers/core/lists.c b/drivers/core/lists.c
index c4fc216..a72db13 100644
--- a/drivers/core/lists.c
+++ b/drivers/core/lists.c
@@ -171,6 +171,10 @@
 
 		dm_dbg("   - found match at '%s'\n", entry->name);
 		ret = device_bind(parent, entry, name, NULL, offset, &dev);
+		if (ret == -ENODEV) {
+			dm_dbg("Driver '%s' refuses to bind\n", entry->name);
+			continue;
+		}
 		if (ret) {
 			dm_warn("Error binding driver '%s': %d\n", entry->name,
 				ret);
diff --git a/drivers/ddr/marvell/a38x/ddr3_init.c b/drivers/ddr/marvell/a38x/ddr3_init.c
index ee05f57..55baad4 100644
--- a/drivers/ddr/marvell/a38x/ddr3_init.c
+++ b/drivers/ddr/marvell/a38x/ddr3_init.c
@@ -678,7 +678,7 @@
 	return (device_width == 0) ? 8 : 16;
 }
 
-float ddr3_get_device_size(u32 cs)
+static int ddr3_get_device_size(u32 cs)
 {
 	u32 device_size_low, device_size_high, device_size;
 	u32 data, cs_low_offset, cs_high_offset;
@@ -695,15 +695,15 @@
 
 	switch (device_size) {
 	case 0:
-		return 2;
+		return 2048;
 	case 2:
-		return 0.5;
+		return 512;
 	case 3:
-		return 1;
+		return 1024;
 	case 4:
-		return 4;
+		return 4096;
 	case 5:
-		return 8;
+		return 8192;
 	case 1:
 	default:
 		DEBUG_INIT_C("Error: Wrong device size of Cs: ", cs, 1);
@@ -711,13 +711,13 @@
 		 * Small value will give wrong emem size in
 		 * ddr3_calc_mem_cs_size
 		 */
-		return 0.01;
+		return 0;
 	}
 }
 
 int ddr3_calc_mem_cs_size(u32 cs, u32 *cs_size)
 {
-	float cs_mem_size;
+	int cs_mem_size;
 
 	/* Calculate in GiB */
 	cs_mem_size = ((ddr3_get_bus_width() / ddr3_get_device_width(cs)) *
@@ -731,21 +731,12 @@
 	 */
 	cs_mem_size *= DDR_CONTROLLER_BUS_WIDTH_MULTIPLIER;
 
-	if (cs_mem_size == 0.125) {
-		*cs_size = 128 << 20;
-	} else if (cs_mem_size == 0.25) {
-		*cs_size = 256 << 20;
-	} else if (cs_mem_size == 0.5) {
-		*cs_size = 512 << 20;
-	} else if (cs_mem_size == 1) {
-		*cs_size = 1 << 30;
-	} else if (cs_mem_size == 2) {
-		*cs_size = 2 << 30;
-	} else {
+	if (!cs_mem_size || (cs_mem_size == 64) || (cs_mem_size == 4096)) {
 		DEBUG_INIT_C("Error: Wrong Memory size of Cs: ", cs, 1);
 		return MV_BAD_VALUE;
 	}
 
+	*cs_size = cs_mem_size << 20;
 	return MV_OK;
 }
 
diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c
index faece88..78724e4 100644
--- a/drivers/dfu/dfu_mmc.c
+++ b/drivers/dfu/dfu_mmc.c
@@ -50,8 +50,9 @@
 
 	if (dfu->data.mmc.hw_partition >= 0) {
 		part_num_bkp = mmc->block_dev.hwpart;
-		ret = mmc_select_hwpart(dfu->data.mmc.dev_num,
-					dfu->data.mmc.hw_partition);
+		ret = blk_select_hwpart_devnum(IF_TYPE_MMC,
+					       dfu->data.mmc.dev_num,
+					       dfu->data.mmc.hw_partition);
 		if (ret)
 			return ret;
 	}
@@ -75,12 +76,16 @@
 	if (n != blk_count) {
 		error("MMC operation failed");
 		if (dfu->data.mmc.hw_partition >= 0)
-			mmc_select_hwpart(dfu->data.mmc.dev_num, part_num_bkp);
+			blk_select_hwpart_devnum(IF_TYPE_MMC,
+						 dfu->data.mmc.dev_num,
+						 part_num_bkp);
 		return -EIO;
 	}
 
 	if (dfu->data.mmc.hw_partition >= 0) {
-		ret = mmc_select_hwpart(dfu->data.mmc.dev_num, part_num_bkp);
+		ret = blk_select_hwpart_devnum(IF_TYPE_MMC,
+					       dfu->data.mmc.dev_num,
+					       part_num_bkp);
 		if (ret)
 			return ret;
 	}
diff --git a/drivers/fpga/fpga.c b/drivers/fpga/fpga.c
index d94eb5c..7e2f3e1 100644
--- a/drivers/fpga/fpga.c
+++ b/drivers/fpga/fpga.c
@@ -120,7 +120,7 @@
 }
 
 /*
- * fgpa_init is usually called from misc_init_r() and MUST be called
+ * fpga_init is usually called from misc_init_r() and MUST be called
  * before any of the other fpga functions are used.
  */
 void fpga_init(void)
diff --git a/drivers/gpio/74x164_gpio.c b/drivers/gpio/74x164_gpio.c
new file mode 100644
index 0000000..9ac10a7
--- /dev/null
+++ b/drivers/gpio/74x164_gpio.c
@@ -0,0 +1,193 @@
+/*
+ * Take drivers/gpio/gpio-74x164.c as reference.
+ *
+ * 74Hx164 - Generic serial-in/parallel-out 8-bits shift register GPIO driver
+ *
+ * Copyright (C) 2016 Peng Fan <van.freenix@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ *
+ */
+
+#include <common.h>
+#include <errno.h>
+#include <dm.h>
+#include <fdtdec.h>
+#include <malloc.h>
+#include <asm/gpio.h>
+#include <asm/io.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <spi.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * struct gen_74x164_chip - Data for 74Hx164
+ *
+ * @oe: OE pin
+ * @nregs: number of registers
+ * @buffer: buffer for chained chips
+ */
+#define GEN_74X164_NUMBER_GPIOS 8
+
+struct gen_74x164_priv {
+	struct gpio_desc oe;
+	u32 nregs;
+	/*
+	 * Since the nregs are chained, every byte sent will make
+	 * the previous byte shift to the next register in the
+	 * chain. Thus, the first byte sent will end up in the last
+	 * register at the end of the transfer. So, to have a logical
+	 * numbering, store the bytes in reverse order.
+	 */
+	u8 *buffer;
+};
+
+static int gen_74x164_write_conf(struct udevice *dev)
+{
+	struct gen_74x164_priv *priv = dev_get_priv(dev);
+	int ret;
+
+	ret = dm_spi_claim_bus(dev);
+	if (ret)
+		return ret;
+
+	ret = dm_spi_xfer(dev, priv->nregs * 8, priv->buffer, NULL,
+			  SPI_XFER_BEGIN | SPI_XFER_END);
+
+	dm_spi_release_bus(dev);
+
+	return ret;
+}
+
+static int gen_74x164_get_value(struct udevice *dev, unsigned offset)
+{
+	struct gen_74x164_priv *priv = dev_get_priv(dev);
+	uint bank = priv->nregs - 1 - offset / 8;
+	uint pin = offset % 8;
+
+	return (priv->buffer[bank] >> pin) & 0x1;
+}
+
+static int gen_74x164_set_value(struct udevice *dev, unsigned offset,
+				int value)
+{
+	struct gen_74x164_priv *priv = dev_get_priv(dev);
+	uint bank = priv->nregs - 1 - offset / 8;
+	uint pin = offset % 8;
+	int ret;
+
+	if (value)
+		priv->buffer[bank] |= 1 << pin;
+	else
+		priv->buffer[bank] &= ~(1 << pin);
+
+	ret = gen_74x164_write_conf(dev);
+	if (ret)
+		return ret;
+
+	return 0;
+}
+
+static int gen_74x164_direction_input(struct udevice *dev, unsigned offset)
+{
+	return -ENOSYS;
+}
+
+static int gen_74x164_direction_output(struct udevice *dev, unsigned offset,
+				      int value)
+{
+	return gen_74x164_set_value(dev, offset, value);
+}
+
+static int gen_74x164_get_function(struct udevice *dev, unsigned offset)
+{
+	return GPIOF_OUTPUT;
+}
+
+static int gen_74x164_xlate(struct udevice *dev, struct gpio_desc *desc,
+			    struct fdtdec_phandle_args *args)
+{
+	desc->offset = args->args[0];
+	desc->flags = args->args[1] & GPIO_ACTIVE_LOW ? GPIOD_ACTIVE_LOW : 0;
+
+	return 0;
+}
+
+static const struct dm_gpio_ops gen_74x164_ops = {
+	.direction_input	= gen_74x164_direction_input,
+	.direction_output	= gen_74x164_direction_output,
+	.get_value		= gen_74x164_get_value,
+	.set_value		= gen_74x164_set_value,
+	.get_function		= gen_74x164_get_function,
+	.xlate			= gen_74x164_xlate,
+};
+
+static int gen_74x164_probe(struct udevice *dev)
+{
+	struct gen_74x164_priv *priv = dev_get_priv(dev);
+	struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
+	char *str, name[32];
+	int ret;
+	const void *fdt = gd->fdt_blob;
+	int node = dev->of_offset;
+
+	snprintf(name, sizeof(name), "%s_", dev->name);
+	str = strdup(name);
+	if (!str)
+		return -ENOMEM;
+
+	/*
+	 * See Linux kernel:
+	 * Documentation/devicetree/bindings/gpio/gpio-74x164.txt
+	 */
+	priv->nregs = fdtdec_get_int(fdt, node, "registers-number", 1);
+	priv->buffer = calloc(priv->nregs, sizeof(u8));
+	if (!priv->buffer) {
+		ret = -ENOMEM;
+		goto free_str;
+	}
+
+	ret = fdtdec_get_byte_array(fdt, node, "registers-default",
+				    priv->buffer, priv->nregs);
+	if (ret)
+		dev_dbg(dev, "No registers-default property\n");
+
+	ret = gpio_request_by_name(dev, "oe-gpios", 0, &priv->oe,
+				   GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
+	if (ret) {
+		dev_err(dev, "No oe-pins property\n");
+		goto free_buf;
+	}
+
+	uc_priv->bank_name = str;
+	uc_priv->gpio_count = priv->nregs * 8;
+
+	ret = gen_74x164_write_conf(dev);
+	if (ret)
+		goto free_buf;
+
+	dev_dbg(dev, "%s is ready\n", dev->name);
+
+	return 0;
+
+free_buf:
+	free(priv->buffer);
+free_str:
+	free(str);
+	return ret;
+}
+
+static const struct udevice_id gen_74x164_ids[] = {
+	{ .compatible = "fairchild,74hc595" },
+	{ }
+};
+
+U_BOOT_DRIVER(74x164) = {
+	.name		= "74x164",
+	.id		= UCLASS_GPIO,
+	.ops		= &gen_74x164_ops,
+	.probe		= gen_74x164_probe,
+	.priv_auto_alloc_size = sizeof(struct gen_74x164_priv),
+	.of_match	= gen_74x164_ids,
+};
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 2b4624d..93a7e8c 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -143,4 +143,34 @@
 	help
 	  Supports GPIO access on Zynq SoC.
 
+config DM_74X164
+	bool "74x164 serial-in/parallel-out 8-bits shift register"
+	depends on DM_GPIO
+	help
+	  Driver for 74x164 compatible serial-in/parallel-out 8-outputs
+	  shift registers, such as 74lv165, 74hc595.
+	  This driver can be used to provide access to more gpio outputs.
+
+config DM_PCA953X
+	bool "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
+	depends on DM_GPIO
+	help
+	  Say yes here to provide access to several register-oriented
+	  SMBus I/O expanders, made mostly by NXP or TI.  Compatible
+	  models include:
+
+	  4 bits:	pca9536, pca9537
+
+	  8 bits:	max7310, max7315, pca6107, pca9534, pca9538, pca9554,
+			pca9556, pca9557, pca9574, tca6408, xra1202
+
+	  16 bits:	max7312, max7313, pca9535, pca9539, pca9555, pca9575,
+			tca6416
+
+	  24 bits:	tca6424
+
+	  40 bits:	pca9505, pca9698
+
+	  Now, max 24 bits chips and PCA953X compatible chips are
+	  supported
 endmenu
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index 4f071c4..ddec1ef 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -11,6 +11,9 @@
 endif
 obj-$(CONFIG_DM_GPIO)		+= gpio-uclass.o
 
+obj-$(CONFIG_DM_PCA953X)	+= pca953x_gpio.o
+obj-$(CONFIG_DM_74X164)		+= 74x164_gpio.o
+
 obj-$(CONFIG_AT91_GPIO)	+= at91_gpio.o
 obj-$(CONFIG_ATMEL_PIO4)	+= atmel_pio4.o
 obj-$(CONFIG_INTEL_ICH6_GPIO)	+= intel_ich6_gpio.o
diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c
index b58d4e6..732b6c2 100644
--- a/drivers/gpio/gpio-uclass.c
+++ b/drivers/gpio/gpio-uclass.c
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <dm.h>
+#include <dt-bindings/gpio/gpio.h>
 #include <errno.h>
 #include <fdtdec.h>
 #include <malloc.h>
@@ -113,19 +114,33 @@
 	return 0;
 }
 
+int gpio_xlate_offs_flags(struct udevice *dev,
+					 struct gpio_desc *desc,
+					 struct fdtdec_phandle_args *args)
+{
+	if (args->args_count < 1)
+		return -EINVAL;
+
+	desc->offset = args->args[0];
+
+	if (args->args_count < 2)
+		return 0;
+
+	if (args->args[1] & GPIO_ACTIVE_LOW)
+		desc->flags = GPIOD_ACTIVE_LOW;
+
+	return 0;
+}
+
 static int gpio_find_and_xlate(struct gpio_desc *desc,
 			       struct fdtdec_phandle_args *args)
 {
 	struct dm_gpio_ops *ops = gpio_get_ops(desc->dev);
 
-	/* Use the first argument as the offset by default */
-	if (args->args_count > 0)
-		desc->offset = args->args[0];
+	if (ops->xlate)
+		return ops->xlate(desc->dev, desc, args);
 	else
-		desc->offset = -1;
-	desc->flags = 0;
-
-	return ops->xlate ? ops->xlate(desc->dev, desc, args) : 0;
+		return gpio_xlate_offs_flags(desc->dev, desc, args);
 }
 
 int dm_gpio_request(struct gpio_desc *desc, const char *label)
@@ -605,6 +620,7 @@
 
 	desc->dev = NULL;
 	desc->offset = 0;
+	desc->flags = 0;
 	ret = fdtdec_parse_phandle_with_args(blob, node, list_name,
 					     "#gpio-cells", 0, index, &args);
 	if (ret) {
diff --git a/drivers/gpio/intel_broadwell_gpio.c b/drivers/gpio/intel_broadwell_gpio.c
index 8cf76f9..81ce446 100644
--- a/drivers/gpio/intel_broadwell_gpio.c
+++ b/drivers/gpio/intel_broadwell_gpio.c
@@ -162,15 +162,6 @@
 	return 0;
 }
 
-static int broadwell_gpio_xlate(struct udevice *dev, struct gpio_desc *desc,
-				struct fdtdec_phandle_args *args)
-{
-	desc->offset = args->args[0];
-	desc->flags = args->args[1] & GPIO_ACTIVE_LOW ? GPIOD_ACTIVE_LOW : 0;
-
-	return 0;
-}
-
 static const struct dm_gpio_ops gpio_broadwell_ops = {
 	.request		= broadwell_gpio_request,
 	.direction_input	= broadwell_gpio_direction_input,
@@ -178,7 +169,6 @@
 	.get_value		= broadwell_gpio_get_value,
 	.set_value		= broadwell_gpio_set_value,
 	.get_function		= broadwell_gpio_get_function,
-	.xlate			= broadwell_gpio_xlate,
 };
 
 static const struct udevice_id intel_broadwell_gpio_ids[] = {
diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c
index 93d18e4..cd960dc 100644
--- a/drivers/gpio/omap_gpio.c
+++ b/drivers/gpio/omap_gpio.c
@@ -25,7 +25,6 @@
 #include <asm/io.h>
 #include <asm/errno.h>
 #include <malloc.h>
-#include <dt-bindings/gpio/gpio.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -277,22 +276,12 @@
 		return GPIOF_INPUT;
 }
 
-static int omap_gpio_xlate(struct udevice *dev, struct gpio_desc *desc,
-			   struct fdtdec_phandle_args *args)
-{
-	desc->offset = args->args[0];
-	desc->flags = args->args[1] & GPIO_ACTIVE_LOW ? GPIOD_ACTIVE_LOW : 0;
-
-	return 0;
-}
-
 static const struct dm_gpio_ops gpio_omap_ops = {
 	.direction_input	= omap_gpio_direction_input,
 	.direction_output	= omap_gpio_direction_output,
 	.get_value		= omap_gpio_get_value,
 	.set_value		= omap_gpio_set_value,
 	.get_function		= omap_gpio_get_function,
-	.xlate			= omap_gpio_xlate,
 };
 
 static int omap_gpio_probe(struct udevice *dev)
diff --git a/drivers/gpio/pca953x_gpio.c b/drivers/gpio/pca953x_gpio.c
new file mode 100644
index 0000000..987d10e
--- /dev/null
+++ b/drivers/gpio/pca953x_gpio.c
@@ -0,0 +1,351 @@
+/*
+ * Take linux kernel driver drivers/gpio/gpio-pca953x.c for reference.
+ *
+ * Copyright (C) 2016 Peng Fan <van.freenix@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ *
+ */
+
+/*
+ * Note:
+ * The driver's compatible table is borrowed from Linux Kernel,
+ * but now max supported gpio pins is 24 and only PCA953X_TYPE
+ * is supported. PCA957X_TYPE is not supported now.
+ * Also the Polarity Inversion feature is not supported now.
+ *
+ * TODO:
+ * 1. Support PCA957X_TYPE
+ * 2. Support max 40 gpio pins
+ * 3. Support Plolarity Inversion
+ */
+
+#include <common.h>
+#include <errno.h>
+#include <dm.h>
+#include <fdtdec.h>
+#include <i2c.h>
+#include <malloc.h>
+#include <asm/gpio.h>
+#include <asm/io.h>
+#include <dt-bindings/gpio/gpio.h>
+
+#define PCA953X_INPUT           0
+#define PCA953X_OUTPUT          1
+#define PCA953X_INVERT          2
+#define PCA953X_DIRECTION       3
+
+#define PCA_GPIO_MASK           0x00FF
+#define PCA_INT                 0x0100
+#define PCA953X_TYPE            0x1000
+#define PCA957X_TYPE            0x2000
+#define PCA_TYPE_MASK           0xF000
+#define PCA_CHIP_TYPE(x)        ((x) & PCA_TYPE_MASK)
+
+enum {
+	PCA953X_DIRECTION_IN,
+	PCA953X_DIRECTION_OUT,
+};
+
+#define MAX_BANK 3
+#define BANK_SZ 8
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * struct pca953x_info - Data for pca953x
+ *
+ * @dev: udevice structure for the device
+ * @addr: i2c slave address
+ * @invert: Polarity inversion or not
+ * @gpio_count: the number of gpio pins that the device supports
+ * @chip_type: indicate the chip type,PCA953X or PCA957X
+ * @bank_count: the number of banks that the device supports
+ * @reg_output: array to hold the value of output registers
+ * @reg_direction: array to hold the value of direction registers
+ */
+struct pca953x_info {
+	struct udevice *dev;
+	int addr;
+	int invert;
+	int gpio_count;
+	int chip_type;
+	int bank_count;
+	u8 reg_output[MAX_BANK];
+	u8 reg_direction[MAX_BANK];
+};
+
+static int pca953x_write_single(struct udevice *dev, int reg, u8 val,
+				int offset)
+{
+	struct pca953x_info *info = dev_get_platdata(dev);
+	int bank_shift = fls((info->gpio_count - 1) / BANK_SZ);
+	int off = offset / BANK_SZ;
+	int ret = 0;
+
+	ret = dm_i2c_write(dev, (reg << bank_shift) + off, &val, 1);
+	if (ret) {
+		dev_err(dev, "%s error\n", __func__);
+		return ret;
+	}
+
+	return 0;
+}
+
+static int pca953x_read_single(struct udevice *dev, int reg, u8 *val,
+			       int offset)
+{
+	struct pca953x_info *info = dev_get_platdata(dev);
+	int bank_shift = fls((info->gpio_count - 1) / BANK_SZ);
+	int off = offset / BANK_SZ;
+	int ret;
+	u8 byte;
+
+	ret = dm_i2c_read(dev, (reg << bank_shift) + off, &byte, 1);
+	if (ret) {
+		dev_err(dev, "%s error\n", __func__);
+		return ret;
+	}
+
+	*val = byte;
+
+	return 0;
+}
+
+static int pca953x_read_regs(struct udevice *dev, int reg, u8 *val)
+{
+	struct pca953x_info *info = dev_get_platdata(dev);
+	int ret = 0;
+
+	if (info->gpio_count <= 8) {
+		ret = dm_i2c_read(dev, reg, val, 1);
+	} else if (info->gpio_count <= 16) {
+		ret = dm_i2c_read(dev, reg << 1, val, info->bank_count);
+	} else {
+		dev_err(dev, "Unsupported now\n");
+		return -EINVAL;
+	}
+
+	return ret;
+}
+
+static int pca953x_is_output(struct udevice *dev, int offset)
+{
+	struct pca953x_info *info = dev_get_platdata(dev);
+
+	int bank = offset / BANK_SZ;
+	int off = offset % BANK_SZ;
+
+	/*0: output; 1: input */
+	return !(info->reg_direction[bank] & (1 << off));
+}
+
+static int pca953x_get_value(struct udevice *dev, unsigned offset)
+{
+	int ret;
+	u8 val = 0;
+
+	ret = pca953x_read_single(dev, PCA953X_INPUT, &val, offset);
+	if (ret)
+		return ret;
+
+	return (val >> offset) & 0x1;
+}
+
+static int pca953x_set_value(struct udevice *dev, unsigned offset,
+			     int value)
+{
+	struct pca953x_info *info = dev_get_platdata(dev);
+	int bank = offset / BANK_SZ;
+	int off = offset % BANK_SZ;
+	u8 val;
+	int ret;
+
+	if (value)
+		val = info->reg_output[bank] | (1 << off);
+	else
+		val = info->reg_output[bank] & ~(1 << off);
+
+	ret = pca953x_write_single(dev, PCA953X_OUTPUT, val, offset);
+	if (ret)
+		return ret;
+
+	info->reg_output[bank] = val;
+
+	return 0;
+}
+
+static int pca953x_set_direction(struct udevice *dev, unsigned offset, int dir)
+{
+	struct pca953x_info *info = dev_get_platdata(dev);
+	int bank = offset / BANK_SZ;
+	int off = offset % BANK_SZ;
+	u8 val;
+	int ret;
+
+	if (dir == PCA953X_DIRECTION_IN)
+		val = info->reg_direction[bank] | (1 << off);
+	else
+		val = info->reg_direction[bank] & ~(1 << off);
+
+	ret = pca953x_write_single(dev, PCA953X_DIRECTION, val, offset);
+	if (ret)
+		return ret;
+
+	info->reg_direction[bank] = val;
+
+	return 0;
+}
+
+static int pca953x_direction_input(struct udevice *dev, unsigned offset)
+{
+	return pca953x_set_direction(dev, offset, PCA953X_DIRECTION_IN);
+}
+
+static int pca953x_direction_output(struct udevice *dev, unsigned offset,
+				    int value)
+{
+	/* Configure output value. */
+	pca953x_set_value(dev, offset, value);
+
+	/* Configure direction as output. */
+	pca953x_set_direction(dev, offset, PCA953X_DIRECTION_OUT);
+
+	return 0;
+}
+
+static int pca953x_get_function(struct udevice *dev, unsigned offset)
+{
+	if (pca953x_is_output(dev, offset))
+		return GPIOF_OUTPUT;
+	else
+		return GPIOF_INPUT;
+}
+
+static int pca953x_xlate(struct udevice *dev, struct gpio_desc *desc,
+			 struct fdtdec_phandle_args *args)
+{
+	desc->offset = args->args[0];
+	desc->flags = args->args[1] & GPIO_ACTIVE_LOW ? GPIOD_ACTIVE_LOW : 0;
+
+	return 0;
+}
+
+static const struct dm_gpio_ops pca953x_ops = {
+	.direction_input	= pca953x_direction_input,
+	.direction_output	= pca953x_direction_output,
+	.get_value		= pca953x_get_value,
+	.set_value		= pca953x_set_value,
+	.get_function		= pca953x_get_function,
+	.xlate			= pca953x_xlate,
+};
+
+static int pca953x_probe(struct udevice *dev)
+{
+	struct pca953x_info *info = dev_get_platdata(dev);
+	struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
+	struct dm_i2c_chip *chip = dev_get_parent_platdata(dev);
+	char name[32], *str;
+	int addr;
+	ulong driver_data;
+	int ret;
+
+	if (!info) {
+		dev_err(dev, "platdata not ready\n");
+		return -ENOMEM;
+	}
+
+	if (!chip) {
+		dev_err(dev, "i2c not ready\n");
+		return -ENODEV;
+	}
+
+	addr = fdtdec_get_int(gd->fdt_blob, dev->of_offset, "reg", 0);
+	if (addr == 0)
+		return -ENODEV;
+
+	info->addr = addr;
+
+	driver_data = dev_get_driver_data(dev);
+
+	info->gpio_count = driver_data & PCA_GPIO_MASK;
+	if (info->gpio_count > MAX_BANK * BANK_SZ) {
+		dev_err(dev, "Max support %d pins now\n", MAX_BANK * BANK_SZ);
+		return -EINVAL;
+	}
+
+	info->chip_type = PCA_CHIP_TYPE(driver_data);
+	if (info->chip_type != PCA953X_TYPE) {
+		dev_err(dev, "Only support PCA953X chip type now.\n");
+		return -EINVAL;
+	}
+
+	info->bank_count = DIV_ROUND_UP(info->gpio_count, BANK_SZ);
+
+	ret = pca953x_read_regs(dev, PCA953X_OUTPUT, info->reg_output);
+	if (ret) {
+		dev_err(dev, "Error reading output register\n");
+		return ret;
+	}
+
+	ret = pca953x_read_regs(dev, PCA953X_DIRECTION, info->reg_direction);
+	if (ret) {
+		dev_err(dev, "Error reading direction register\n");
+		return ret;
+	}
+
+	snprintf(name, sizeof(name), "gpio@%x_", info->addr);
+	str = strdup(name);
+	if (!str)
+		return -ENOMEM;
+	uc_priv->bank_name = str;
+	uc_priv->gpio_count = info->gpio_count;
+
+	dev_dbg(dev, "%s is ready\n", str);
+
+	return 0;
+}
+
+#define OF_953X(__nrgpio, __int) (ulong)(__nrgpio | PCA953X_TYPE | __int)
+#define OF_957X(__nrgpio, __int) (ulong)(__nrgpio | PCA957X_TYPE | __int)
+
+static const struct udevice_id pca953x_ids[] = {
+	{ .compatible = "nxp,pca9505", .data = OF_953X(40, PCA_INT), },
+	{ .compatible = "nxp,pca9534", .data = OF_953X(8, PCA_INT), },
+	{ .compatible = "nxp,pca9535", .data = OF_953X(16, PCA_INT), },
+	{ .compatible = "nxp,pca9536", .data = OF_953X(4, 0), },
+	{ .compatible = "nxp,pca9537", .data = OF_953X(4, PCA_INT), },
+	{ .compatible = "nxp,pca9538", .data = OF_953X(8, PCA_INT), },
+	{ .compatible = "nxp,pca9539", .data = OF_953X(16, PCA_INT), },
+	{ .compatible = "nxp,pca9554", .data = OF_953X(8, PCA_INT), },
+	{ .compatible = "nxp,pca9555", .data = OF_953X(16, PCA_INT), },
+	{ .compatible = "nxp,pca9556", .data = OF_953X(8, 0), },
+	{ .compatible = "nxp,pca9557", .data = OF_953X(8, 0), },
+	{ .compatible = "nxp,pca9574", .data = OF_957X(8, PCA_INT), },
+	{ .compatible = "nxp,pca9575", .data = OF_957X(16, PCA_INT), },
+	{ .compatible = "nxp,pca9698", .data = OF_953X(40, 0), },
+
+	{ .compatible = "maxim,max7310", .data = OF_953X(8, 0), },
+	{ .compatible = "maxim,max7312", .data = OF_953X(16, PCA_INT), },
+	{ .compatible = "maxim,max7313", .data = OF_953X(16, PCA_INT), },
+	{ .compatible = "maxim,max7315", .data = OF_953X(8, PCA_INT), },
+
+	{ .compatible = "ti,pca6107", .data = OF_953X(8, PCA_INT), },
+	{ .compatible = "ti,tca6408", .data = OF_953X(8, PCA_INT), },
+	{ .compatible = "ti,tca6416", .data = OF_953X(16, PCA_INT), },
+	{ .compatible = "ti,tca6424", .data = OF_953X(24, PCA_INT), },
+
+	{ .compatible = "onsemi,pca9654", .data = OF_953X(8, PCA_INT), },
+
+	{ .compatible = "exar,xra1202", .data = OF_953X(8, 0), },
+	{ }
+};
+
+U_BOOT_DRIVER(pca953x) = {
+	.name		= "pca953x",
+	.id		= UCLASS_GPIO,
+	.ops		= &pca953x_ops,
+	.probe		= pca953x_probe,
+	.platdata_auto_alloc_size = sizeof(struct pca953x_info),
+	.of_match	= pca953x_ids,
+};
diff --git a/drivers/gpio/pic32_gpio.c b/drivers/gpio/pic32_gpio.c
index 499b4fa..7a037f3 100644
--- a/drivers/gpio/pic32_gpio.c
+++ b/drivers/gpio/pic32_gpio.c
@@ -12,7 +12,6 @@
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <linux/compat.h>
-#include <dt-bindings/gpio/gpio.h>
 #include <mach/pic32.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -99,14 +98,6 @@
 	return 0;
 }
 
-static int pic32_gpio_xlate(struct udevice *dev, struct gpio_desc *desc,
-			    struct fdtdec_phandle_args *args)
-{
-	desc->flags = args->args[1] & GPIO_ACTIVE_LOW ? GPIOD_ACTIVE_LOW : 0;
-
-	return 0;
-}
-
 static int pic32_gpio_get_function(struct udevice *dev, unsigned offset)
 {
 	int ret = GPIOF_UNUSED;
@@ -131,7 +122,6 @@
 	.get_value		= pic32_gpio_get_value,
 	.set_value		= pic32_gpio_set_value,
 	.get_function		= pic32_gpio_get_function,
-	.xlate			= pic32_gpio_xlate,
 };
 
 static int pic32_gpio_probe(struct udevice *dev)
diff --git a/drivers/gpio/rk_gpio.c b/drivers/gpio/rk_gpio.c
index 40e87bd..fefe3ca 100644
--- a/drivers/gpio/rk_gpio.c
+++ b/drivers/gpio/rk_gpio.c
@@ -16,7 +16,6 @@
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <dm/pinctrl.h>
-#include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/clock/rk3288-cru.h>
 
 enum {
@@ -98,15 +97,6 @@
 #endif
 }
 
-static int rockchip_gpio_xlate(struct udevice *dev, struct gpio_desc *desc,
-			    struct fdtdec_phandle_args *args)
-{
-	desc->offset = args->args[0];
-	desc->flags = args->args[1] & GPIO_ACTIVE_LOW ? GPIOD_ACTIVE_LOW : 0;
-
-	return 0;
-}
-
 static int rockchip_gpio_probe(struct udevice *dev)
 {
 	struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
@@ -135,7 +125,6 @@
 	.get_value		= rockchip_gpio_get_value,
 	.set_value		= rockchip_gpio_set_value,
 	.get_function		= rockchip_gpio_get_function,
-	.xlate			= rockchip_gpio_xlate,
 };
 
 static const struct udevice_id rockchip_gpio_ids[] = {
diff --git a/drivers/gpio/s5p_gpio.c b/drivers/gpio/s5p_gpio.c
index 0f22b23..377fed4 100644
--- a/drivers/gpio/s5p_gpio.c
+++ b/drivers/gpio/s5p_gpio.c
@@ -13,7 +13,6 @@
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <dm/device-internal.h>
-#include <dt-bindings/gpio/gpio.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -276,22 +275,12 @@
 		return GPIOF_FUNC;
 }
 
-static int exynos_gpio_xlate(struct udevice *dev, struct gpio_desc *desc,
-			     struct fdtdec_phandle_args *args)
-{
-	desc->offset = args->args[0];
-	desc->flags = args->args[1] & GPIO_ACTIVE_LOW ? GPIOD_ACTIVE_LOW : 0;
-
-	return 0;
-}
-
 static const struct dm_gpio_ops gpio_exynos_ops = {
 	.direction_input	= exynos_gpio_direction_input,
 	.direction_output	= exynos_gpio_direction_output,
 	.get_value		= exynos_gpio_get_value,
 	.set_value		= exynos_gpio_set_value,
 	.get_function		= exynos_gpio_get_function,
-	.xlate			= exynos_gpio_xlate,
 };
 
 static int gpio_exynos_probe(struct udevice *dev)
diff --git a/drivers/gpio/zynq_gpio.c b/drivers/gpio/zynq_gpio.c
index 3a995f6..4ab2356 100644
--- a/drivers/gpio/zynq_gpio.c
+++ b/drivers/gpio/zynq_gpio.c
@@ -299,11 +299,33 @@
 	return 0;
 }
 
+static int zynq_gpio_get_function(struct udevice *dev, unsigned offset)
+{
+	u32 reg;
+	unsigned int bank_num, bank_pin_num;
+	struct zynq_gpio_privdata *priv = dev_get_priv(dev);
+
+	if (check_gpio(offset, dev) < 0)
+		return -1;
+
+	zynq_gpio_get_bank_pin(offset, &bank_num, &bank_pin_num, dev);
+
+	/* set the GPIO pin as output */
+	reg = readl(priv->base + ZYNQ_GPIO_DIRM_OFFSET(bank_num));
+	reg &= BIT(bank_pin_num);
+	if (reg)
+		return GPIOF_OUTPUT;
+	else
+		return GPIOF_INPUT;
+}
+
 static const struct dm_gpio_ops gpio_zynq_ops = {
 	.direction_input	= zynq_gpio_direction_input,
 	.direction_output	= zynq_gpio_direction_output,
 	.get_value		= zynq_gpio_get_value,
 	.set_value		= zynq_gpio_set_value,
+	.get_function		= zynq_gpio_get_function,
+
 };
 
 static const struct udevice_id zynq_gpio_ids[] = {
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 9324c6c..6e22bba 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -58,6 +58,13 @@
 	  bindings are supported.
 	  Binding info: doc/device-tree-bindings/i2c/i2c-gpio.txt
 
+config SYS_I2C_FSL
+       bool "Freescale I2C bus driver"
+       depends on DM_I2C
+       help
+	  Add support for Freescale I2C busses as used on MPC8240, MPC8245, and
+	  MPC85xx processors.
+
 config SYS_I2C_CADENCE
 	tristate "Cadence I2C Controller"
 	depends on DM_I2C && (ARCH_ZYNQ || ARM64)
@@ -65,6 +72,24 @@
 	  Say yes here to select Cadence I2C Host Controller. This controller is
 	  e.g. used by Xilinx Zynq.
 
+config SYS_I2C_DW
+	bool "Designware I2C Controller"
+	default n
+	help
+	  Say yes here to select the Designware I2C Host Controller. This
+	  controller is used in various SoCs, e.g. the ST SPEAr, Altera
+	  SoCFPGA, Synopsys ARC700 and some Intel x86 SoCs.
+
+config SYS_I2C_DW_ENABLE_STATUS_UNSUPPORTED
+	bool "DW I2C Enable Status Register not supported"
+	depends on SYS_I2C_DW && (TARGET_SPEAR300 || TARGET_SPEAR310 || \
+		TARGET_SPEAR320 || TARGET_SPEAR600 || TARGET_X600)
+	default y
+	help
+	  Some versions of the Designware I2C controller do not support the
+	  enable status register. This config option can be enabled in such
+	  cases.
+
 config SYS_I2C_INTEL
 	bool "Intel I2C/SMBUS driver"
 	depends on DM_I2C
diff --git a/drivers/i2c/designware_i2c.c b/drivers/i2c/designware_i2c.c
index 0c7cd0b..e60fd0a 100644
--- a/drivers/i2c/designware_i2c.c
+++ b/drivers/i2c/designware_i2c.c
@@ -36,6 +36,14 @@
 	struct dw_scl_sda_cfg *scl_sda_cfg;
 };
 
+#ifdef CONFIG_SYS_I2C_DW_ENABLE_STATUS_UNSUPPORTED
+static void dw_i2c_enable(struct i2c_regs *i2c_base, bool enable)
+{
+	u32 ena = enable ? IC_ENABLE_0B : 0;
+
+	writel(ena, &i2c_base->ic_enable);
+}
+#else
 static void dw_i2c_enable(struct i2c_regs *i2c_base, bool enable)
 {
 	u32 ena = enable ? IC_ENABLE_0B : 0;
@@ -56,6 +64,7 @@
 
 	printf("timeout in %sabling I2C adapter\n", enable ? "en" : "dis");
 }
+#endif
 
 /*
  * i2c_set_bus_speed - Set the i2c speed
diff --git a/drivers/i2c/fsl_i2c.c b/drivers/i2c/fsl_i2c.c
index b56a1c2..b8cc647 100644
--- a/drivers/i2c/fsl_i2c.c
+++ b/drivers/i2c/fsl_i2c.c
@@ -12,6 +12,8 @@
 #include <i2c.h>		/* Functional interface */
 #include <asm/io.h>
 #include <asm/fsl_i2c.h>	/* HW definitions */
+#include <dm.h>
+#include <mapmem.h>
 
 /* The maximum number of microseconds we will wait until another master has
  * released the bus.  If not defined in the board header file, then use a
@@ -34,18 +36,20 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static const struct fsl_i2c *i2c_dev[4] = {
-	(struct fsl_i2c *)(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_I2C_OFFSET),
+#ifndef CONFIG_DM_I2C
+static const struct fsl_i2c_base *i2c_base[4] = {
+	(struct fsl_i2c_base *)(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_I2C_OFFSET),
 #ifdef CONFIG_SYS_FSL_I2C2_OFFSET
-	(struct fsl_i2c *)(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_I2C2_OFFSET),
+	(struct fsl_i2c_base *)(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_I2C2_OFFSET),
 #endif
 #ifdef CONFIG_SYS_FSL_I2C3_OFFSET
-	(struct fsl_i2c *)(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_I2C3_OFFSET),
+	(struct fsl_i2c_base *)(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_I2C3_OFFSET),
 #endif
 #ifdef CONFIG_SYS_FSL_I2C4_OFFSET
-	(struct fsl_i2c *)(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_I2C4_OFFSET)
+	(struct fsl_i2c_base *)(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_I2C4_OFFSET)
 #endif
 };
+#endif
 
 /* I2C speed map for a DFSR value of 1 */
 
@@ -104,7 +108,7 @@
 /**
  * Set the I2C bus speed for a given I2C device
  *
- * @param dev: the I2C device
+ * @param base: the I2C device registers
  * @i2c_clk: I2C bus clock frequency
  * @speed: the desired speed of the bus
  *
@@ -112,7 +116,7 @@
  *
  * The return value is the actual bus speed that is set.
  */
-static unsigned int set_i2c_bus_speed(const struct fsl_i2c *dev,
+static unsigned int set_i2c_bus_speed(const struct fsl_i2c_base *base,
 	unsigned int i2c_clk, unsigned int speed)
 {
 	unsigned short divider = min(i2c_clk / speed, (unsigned int)USHRT_MAX);
@@ -173,8 +177,8 @@
 	debug("divider:%d, est_div:%ld, DFSR:%d\n", divider, est_div, dfsr);
 	debug("FDR:0x%.2x, speed:%d\n", fdr, speed);
 #endif
-	writeb(dfsr, &dev->dfsrr);	/* set default filter */
-	writeb(fdr, &dev->fdr);		/* set bus speed */
+	writeb(dfsr, &base->dfsrr);	/* set default filter */
+	writeb(fdr, &base->fdr);	/* set bus speed */
 #else
 	unsigned int i;
 
@@ -184,7 +188,7 @@
 
 			fdr = fsl_i2c_speed_map[i].fdr;
 			speed = i2c_clk / fsl_i2c_speed_map[i].divider;
-			writeb(fdr, &dev->fdr);		/* set bus speed */
+			writeb(fdr, &base->fdr);	/* set bus speed */
 
 			break;
 		}
@@ -192,6 +196,7 @@
 	return speed;
 }
 
+#ifndef CONFIG_DM_I2C
 static unsigned int get_i2c_clock(int bus)
 {
 	if (bus)
@@ -199,8 +204,9 @@
 	else
 		return gd->arch.i2c1_clk;	/* I2C1 clock */
 }
+#endif
 
-static int fsl_i2c_fixup(const struct fsl_i2c *dev)
+static int fsl_i2c_fixup(const struct fsl_i2c_base *base)
 {
 	const unsigned long long timeout = usec2ticks(CONFIG_I2C_MBB_TIMEOUT);
 	unsigned long long timeval = 0;
@@ -214,42 +220,42 @@
 		flags = I2C_CR_BIT6;
 #endif
 
-	writeb(I2C_CR_MEN | I2C_CR_MSTA, &dev->cr);
+	writeb(I2C_CR_MEN | I2C_CR_MSTA, &base->cr);
 
 	timeval = get_ticks();
-	while (!(readb(&dev->sr) & I2C_SR_MBB)) {
+	while (!(readb(&base->sr) & I2C_SR_MBB)) {
 		if ((get_ticks() - timeval) > timeout)
 			goto err;
 	}
 
-	if (readb(&dev->sr) & I2C_SR_MAL) {
+	if (readb(&base->sr) & I2C_SR_MAL) {
 		/* SDA is stuck low */
-		writeb(0, &dev->cr);
+		writeb(0, &base->cr);
 		udelay(100);
-		writeb(I2C_CR_MSTA | flags, &dev->cr);
-		writeb(I2C_CR_MEN | I2C_CR_MSTA | flags, &dev->cr);
+		writeb(I2C_CR_MSTA | flags, &base->cr);
+		writeb(I2C_CR_MEN | I2C_CR_MSTA | flags, &base->cr);
 	}
 
-	readb(&dev->dr);
+	readb(&base->dr);
 
 	timeval = get_ticks();
-	while (!(readb(&dev->sr) & I2C_SR_MIF)) {
+	while (!(readb(&base->sr) & I2C_SR_MIF)) {
 		if ((get_ticks() - timeval) > timeout)
 			goto err;
 	}
 	ret = 0;
 
 err:
-	writeb(I2C_CR_MEN | flags, &dev->cr);
-	writeb(0, &dev->sr);
+	writeb(I2C_CR_MEN | flags, &base->cr);
+	writeb(0, &base->sr);
 	udelay(100);
 
 	return ret;
 }
 
-static void fsl_i2c_init(struct i2c_adapter *adap, int speed, int slaveadd)
+static void __i2c_init(const struct fsl_i2c_base *base, int speed, int
+		       slaveadd, int i2c_clk, int busnum)
 {
-	const struct fsl_i2c *dev;
 	const unsigned long long timeout = usec2ticks(CONFIG_I2C_MBB_TIMEOUT);
 	unsigned long long timeval;
 
@@ -260,23 +266,21 @@
 	*/
 	i2c_init_board();
 #endif
-	dev = (struct fsl_i2c *)i2c_dev[adap->hwadapnr];
-
-	writeb(0, &dev->cr);		/* stop I2C controller */
+	writeb(0, &base->cr);		/* stop I2C controller */
 	udelay(5);			/* let it shutdown in peace */
-	set_i2c_bus_speed(dev, get_i2c_clock(adap->hwadapnr), speed);
-	writeb(slaveadd << 1, &dev->adr);/* write slave address */
-	writeb(0x0, &dev->sr);		/* clear status register */
-	writeb(I2C_CR_MEN, &dev->cr);	/* start I2C controller */
+	set_i2c_bus_speed(base, i2c_clk, speed);
+	writeb(slaveadd << 1, &base->adr);/* write slave address */
+	writeb(0x0, &base->sr);		/* clear status register */
+	writeb(I2C_CR_MEN, &base->cr);	/* start I2C controller */
 
 	timeval = get_ticks();
-	while (readb(&dev->sr) & I2C_SR_MBB) {
+	while (readb(&base->sr) & I2C_SR_MBB) {
 		if ((get_ticks() - timeval) < timeout)
 			continue;
 
-		if (fsl_i2c_fixup(dev))
+		if (fsl_i2c_fixup(base))
 			debug("i2c_init: BUS#%d failed to init\n",
-			      adap->hwadapnr);
+			      busnum);
 
 		break;
 	}
@@ -292,13 +296,12 @@
 }
 
 static int
-i2c_wait4bus(struct i2c_adapter *adap)
+i2c_wait4bus(const struct fsl_i2c_base *base)
 {
-	struct fsl_i2c *dev = (struct fsl_i2c *)i2c_dev[adap->hwadapnr];
 	unsigned long long timeval = get_ticks();
 	const unsigned long long timeout = usec2ticks(CONFIG_I2C_MBB_TIMEOUT);
 
-	while (readb(&dev->sr) & I2C_SR_MBB) {
+	while (readb(&base->sr) & I2C_SR_MBB) {
 		if ((get_ticks() - timeval) > timeout)
 			return -1;
 	}
@@ -306,22 +309,21 @@
 	return 0;
 }
 
-static __inline__ int
-i2c_wait(struct i2c_adapter *adap, int write)
+static inline int
+i2c_wait(const struct fsl_i2c_base *base, int write)
 {
 	u32 csr;
 	unsigned long long timeval = get_ticks();
 	const unsigned long long timeout = usec2ticks(CONFIG_I2C_TIMEOUT);
-	struct fsl_i2c *dev = (struct fsl_i2c *)i2c_dev[adap->hwadapnr];
 
 	do {
-		csr = readb(&dev->sr);
+		csr = readb(&base->sr);
 		if (!(csr & I2C_SR_MIF))
 			continue;
 		/* Read again to allow register to stabilise */
-		csr = readb(&dev->sr);
+		csr = readb(&base->sr);
 
-		writeb(0x0, &dev->sr);
+		writeb(0x0, &base->sr);
 
 		if (csr & I2C_SR_MAL) {
 			debug("i2c_wait: MAL\n");
@@ -345,203 +347,318 @@
 	return -1;
 }
 
-static __inline__ int
-i2c_write_addr(struct i2c_adapter *adap, u8 dev, u8 dir, int rsta)
+static inline int
+i2c_write_addr(const struct fsl_i2c_base *base, u8 dev, u8 dir, int rsta)
 {
-	struct fsl_i2c *device = (struct fsl_i2c *)i2c_dev[adap->hwadapnr];
-
 	writeb(I2C_CR_MEN | I2C_CR_MSTA | I2C_CR_MTX
 	       | (rsta ? I2C_CR_RSTA : 0),
-	       &device->cr);
+	       &base->cr);
 
-	writeb((dev << 1) | dir, &device->dr);
+	writeb((dev << 1) | dir, &base->dr);
 
-	if (i2c_wait(adap, I2C_WRITE_BIT) < 0)
+	if (i2c_wait(base, I2C_WRITE_BIT) < 0)
 		return 0;
 
 	return 1;
 }
 
-static __inline__ int
-__i2c_write(struct i2c_adapter *adap, u8 *data, int length)
+static inline int
+__i2c_write_data(const struct fsl_i2c_base *base, u8 *data, int length)
 {
-	struct fsl_i2c *dev = (struct fsl_i2c *)i2c_dev[adap->hwadapnr];
 	int i;
 
 	for (i = 0; i < length; i++) {
-		writeb(data[i], &dev->dr);
+		writeb(data[i], &base->dr);
 
-		if (i2c_wait(adap, I2C_WRITE_BIT) < 0)
+		if (i2c_wait(base, I2C_WRITE_BIT) < 0)
 			break;
 	}
 
 	return i;
 }
 
-static __inline__ int
-__i2c_read(struct i2c_adapter *adap, u8 *data, int length)
+static inline int
+__i2c_read_data(const struct fsl_i2c_base *base, u8 *data, int length)
 {
-	struct fsl_i2c *dev = (struct fsl_i2c *)i2c_dev[adap->hwadapnr];
 	int i;
 
 	writeb(I2C_CR_MEN | I2C_CR_MSTA | ((length == 1) ? I2C_CR_TXAK : 0),
-	       &dev->cr);
+	       &base->cr);
 
 	/* dummy read */
-	readb(&dev->dr);
+	readb(&base->dr);
 
 	for (i = 0; i < length; i++) {
-		if (i2c_wait(adap, I2C_READ_BIT) < 0)
+		if (i2c_wait(base, I2C_READ_BIT) < 0)
 			break;
 
 		/* Generate ack on last next to last byte */
 		if (i == length - 2)
 			writeb(I2C_CR_MEN | I2C_CR_MSTA | I2C_CR_TXAK,
-			       &dev->cr);
+			       &base->cr);
 
 		/* Do not generate stop on last byte */
 		if (i == length - 1)
 			writeb(I2C_CR_MEN | I2C_CR_MSTA | I2C_CR_MTX,
-			       &dev->cr);
+			       &base->cr);
 
-		data[i] = readb(&dev->dr);
+		data[i] = readb(&base->dr);
 	}
 
 	return i;
 }
 
 static int
-fsl_i2c_read(struct i2c_adapter *adap, u8 dev, uint addr, int alen, u8 *data,
-	     int length)
+__i2c_read(const struct fsl_i2c_base *base, u8 chip_addr, u8 *offset, int olen,
+	   u8 *data, int dlen)
 {
-	struct fsl_i2c *device = (struct fsl_i2c *)i2c_dev[adap->hwadapnr];
-	int i = -1; /* signal error */
-	u8 *a = (u8*)&addr;
-	int len = alen * -1;
+	int ret = -1; /* signal error */
 
-	if (i2c_wait4bus(adap) < 0)
+	if (i2c_wait4bus(base) < 0)
 		return -1;
 
-	/* To handle the need of I2C devices that require to write few bytes
-	 * (more than 4 bytes of address as in the case of else part)
-	 * of data before reading, Negative equivalent of length(bytes to write)
-	 * is passed, but used the +ve part of len for writing data
+	/* Some drivers use offset lengths in excess of 4 bytes. These drivers
+	 * adhere to the following convention:
+	 * - the offset length is passed as negative (that is, the absolute
+	 *   value of olen is the actual offset length)
+	 * - the offset itself is passed in data, which is overwritten by the
+	 *   subsequent read operation
 	 */
-	if (alen < 0) {
-		/* Generate a START and send the Address and
-		 * the Tx Bytes to the slave.
-		 * "START: Address: Write bytes data[len]"
-		 * IF part supports writing any number of bytes in contrast
-		 * to the else part, which supports writing address offset
-		 * of upto 4 bytes only.
-		 * bytes that need to be written are passed in
-		 * "data", which will eventually keep the data READ,
-		 * after writing the len bytes out of it
-		 */
-		if (i2c_write_addr(adap, dev, I2C_WRITE_BIT, 0) != 0)
-			i = __i2c_write(adap, data, len);
+	if (olen < 0) {
+		if (i2c_write_addr(base, chip_addr, I2C_WRITE_BIT, 0) != 0)
+			ret = __i2c_write_data(base, data, -olen);
 
-		if (i != len)
+		if (ret != -olen)
 			return -1;
 
-		if (length && i2c_write_addr(adap, dev, I2C_READ_BIT, 1) != 0)
-			i = __i2c_read(adap, data, length);
+		if (dlen && i2c_write_addr(base, chip_addr,
+					   I2C_READ_BIT, 1) != 0)
+			ret = __i2c_read_data(base, data, dlen);
 	} else {
-		if ((!length || alen > 0) &&
-		    i2c_write_addr(adap, dev, I2C_WRITE_BIT, 0) != 0  &&
-		    __i2c_write(adap, &a[4 - alen], alen) == alen)
-			i = 0; /* No error so far */
+		if ((!dlen || olen > 0) &&
+		    i2c_write_addr(base, chip_addr, I2C_WRITE_BIT, 0) != 0  &&
+		    __i2c_write_data(base, offset, olen) == olen)
+			ret = 0; /* No error so far */
 
-		if (length &&
-		    i2c_write_addr(adap, dev, I2C_READ_BIT, alen ? 1 : 0) != 0)
-			i = __i2c_read(adap, data, length);
+		if (dlen && i2c_write_addr(base, chip_addr, I2C_READ_BIT,
+					   olen ? 1 : 0) != 0)
+			ret = __i2c_read_data(base, data, dlen);
 	}
 
-	writeb(I2C_CR_MEN, &device->cr);
+	writeb(I2C_CR_MEN, &base->cr);
 
-	if (i2c_wait4bus(adap)) /* Wait until STOP */
+	if (i2c_wait4bus(base)) /* Wait until STOP */
 		debug("i2c_read: wait4bus timed out\n");
 
-	if (i == length)
-	    return 0;
+	if (ret == dlen)
+		return 0;
 
 	return -1;
 }
 
 static int
-fsl_i2c_write(struct i2c_adapter *adap, u8 dev, uint addr, int alen,
-	      u8 *data, int length)
+__i2c_write(const struct fsl_i2c_base *base, u8 chip_addr, u8 *offset, int olen,
+	    u8 *data, int dlen)
 {
-	struct fsl_i2c *device = (struct fsl_i2c *)i2c_dev[adap->hwadapnr];
-	int i = -1; /* signal error */
-	u8 *a = (u8*)&addr;
+	int ret = -1; /* signal error */
 
-	if (i2c_wait4bus(adap) < 0)
+	if (i2c_wait4bus(base) < 0)
 		return -1;
 
-	if (i2c_write_addr(adap, dev, I2C_WRITE_BIT, 0) != 0 &&
-	    __i2c_write(adap, &a[4 - alen], alen) == alen) {
-		i = __i2c_write(adap, data, length);
+	if (i2c_write_addr(base, chip_addr, I2C_WRITE_BIT, 0) != 0 &&
+	    __i2c_write_data(base, offset, olen) == olen) {
+		ret = __i2c_write_data(base, data, dlen);
 	}
 
-	writeb(I2C_CR_MEN, &device->cr);
-	if (i2c_wait4bus(adap)) /* Wait until STOP */
+	writeb(I2C_CR_MEN, &base->cr);
+	if (i2c_wait4bus(base)) /* Wait until STOP */
 		debug("i2c_write: wait4bus timed out\n");
 
-	if (i == length)
-	    return 0;
+	if (ret == dlen)
+		return 0;
 
 	return -1;
 }
 
 static int
-fsl_i2c_probe(struct i2c_adapter *adap, uchar chip)
+__i2c_probe_chip(const struct fsl_i2c_base *base, uchar chip)
 {
-	struct fsl_i2c *dev = (struct fsl_i2c *)i2c_dev[adap->hwadapnr];
 	/* For unknow reason the controller will ACK when
 	 * probing for a slave with the same address, so skip
 	 * it.
 	 */
-	if (chip == (readb(&dev->adr) >> 1))
+	if (chip == (readb(&base->adr) >> 1))
 		return -1;
 
-	return fsl_i2c_read(adap, chip, 0, 0, NULL, 0);
+	return __i2c_read(base, chip, 0, 0, NULL, 0);
+}
+
+static unsigned int __i2c_set_bus_speed(const struct fsl_i2c_base *base,
+			unsigned int speed, int i2c_clk)
+{
+	writeb(0, &base->cr);		/* stop controller */
+	set_i2c_bus_speed(base, i2c_clk, speed);
+	writeb(I2C_CR_MEN, &base->cr);	/* start controller */
+
+	return 0;
+}
+
+#ifndef CONFIG_DM_I2C
+static void fsl_i2c_init(struct i2c_adapter *adap, int speed, int slaveadd)
+{
+	__i2c_init(i2c_base[adap->hwadapnr], speed, slaveadd,
+		   get_i2c_clock(adap->hwadapnr), adap->hwadapnr);
+}
+
+static int
+fsl_i2c_probe_chip(struct i2c_adapter *adap, uchar chip)
+{
+	return __i2c_probe_chip(i2c_base[adap->hwadapnr], chip);
+}
+
+static int
+fsl_i2c_read(struct i2c_adapter *adap, u8 chip_addr, uint offset, int olen,
+	     u8 *data, int dlen)
+{
+	u8 *o = (u8 *)&offset;
+	return __i2c_read(i2c_base[adap->hwadapnr], chip_addr, &o[4 - olen],
+			  olen, data, dlen);
+}
+
+static int
+fsl_i2c_write(struct i2c_adapter *adap, u8 chip_addr, uint offset, int olen,
+	      u8 *data, int dlen)
+{
+	u8 *o = (u8 *)&offset;
+	return __i2c_write(i2c_base[adap->hwadapnr], chip_addr, &o[4 - olen],
+			   olen, data, dlen);
 }
 
 static unsigned int fsl_i2c_set_bus_speed(struct i2c_adapter *adap,
-			unsigned int speed)
+					  unsigned int speed)
 {
-	struct fsl_i2c *dev = (struct fsl_i2c *)i2c_dev[adap->hwadapnr];
-
-	writeb(0, &dev->cr);		/* stop controller */
-	set_i2c_bus_speed(dev, get_i2c_clock(adap->hwadapnr), speed);
-	writeb(I2C_CR_MEN, &dev->cr);	/* start controller */
-
-	return 0;
+	return __i2c_set_bus_speed(i2c_base[adap->hwadapnr], speed,
+				   get_i2c_clock(adap->hwadapnr));
 }
 
 /*
  * Register fsl i2c adapters
  */
-U_BOOT_I2C_ADAP_COMPLETE(fsl_0, fsl_i2c_init, fsl_i2c_probe, fsl_i2c_read,
+U_BOOT_I2C_ADAP_COMPLETE(fsl_0, fsl_i2c_init, fsl_i2c_probe_chip, fsl_i2c_read,
 			 fsl_i2c_write, fsl_i2c_set_bus_speed,
 			 CONFIG_SYS_FSL_I2C_SPEED, CONFIG_SYS_FSL_I2C_SLAVE,
 			 0)
 #ifdef CONFIG_SYS_FSL_I2C2_OFFSET
-U_BOOT_I2C_ADAP_COMPLETE(fsl_1, fsl_i2c_init, fsl_i2c_probe, fsl_i2c_read,
+U_BOOT_I2C_ADAP_COMPLETE(fsl_1, fsl_i2c_init, fsl_i2c_probe_chip, fsl_i2c_read,
 			 fsl_i2c_write, fsl_i2c_set_bus_speed,
 			 CONFIG_SYS_FSL_I2C2_SPEED, CONFIG_SYS_FSL_I2C2_SLAVE,
 			 1)
 #endif
 #ifdef CONFIG_SYS_FSL_I2C3_OFFSET
-U_BOOT_I2C_ADAP_COMPLETE(fsl_2, fsl_i2c_init, fsl_i2c_probe, fsl_i2c_read,
+U_BOOT_I2C_ADAP_COMPLETE(fsl_2, fsl_i2c_init, fsl_i2c_probe_chip, fsl_i2c_read,
 			 fsl_i2c_write, fsl_i2c_set_bus_speed,
 			 CONFIG_SYS_FSL_I2C3_SPEED, CONFIG_SYS_FSL_I2C3_SLAVE,
 			 2)
 #endif
 #ifdef CONFIG_SYS_FSL_I2C4_OFFSET
-U_BOOT_I2C_ADAP_COMPLETE(fsl_3, fsl_i2c_init, fsl_i2c_probe, fsl_i2c_read,
+U_BOOT_I2C_ADAP_COMPLETE(fsl_3, fsl_i2c_init, fsl_i2c_probe_chip, fsl_i2c_read,
 			 fsl_i2c_write, fsl_i2c_set_bus_speed,
 			 CONFIG_SYS_FSL_I2C4_SPEED, CONFIG_SYS_FSL_I2C4_SLAVE,
 			 3)
 #endif
+#else /* CONFIG_DM_I2C */
+static int fsl_i2c_probe_chip(struct udevice *bus, u32 chip_addr,
+			      u32 chip_flags)
+{
+	struct fsl_i2c_dev *dev = dev_get_priv(bus);
+	return __i2c_probe_chip(dev->base, chip_addr);
+}
+
+static int fsl_i2c_set_bus_speed(struct udevice *bus, unsigned int speed)
+{
+	struct fsl_i2c_dev *dev = dev_get_priv(bus);
+	return __i2c_set_bus_speed(dev->base, speed, dev->i2c_clk);
+}
+
+static int fsl_i2c_ofdata_to_platdata(struct udevice *bus)
+{
+	struct fsl_i2c_dev *dev = dev_get_priv(bus);
+	u64 reg;
+	u32 addr, size;
+
+	reg = fdtdec_get_addr(gd->fdt_blob, bus->of_offset, "reg");
+	addr = reg >> 32;
+	size = reg & 0xFFFFFFFF;
+
+	dev->base = map_sysmem(CONFIG_SYS_IMMR + addr, size);
+
+	if (!dev->base)
+		return -ENOMEM;
+
+	dev->index = fdtdec_get_int(gd->fdt_blob, bus->of_offset,
+				    "cell-index", -1);
+	dev->slaveadd = fdtdec_get_int(gd->fdt_blob, bus->of_offset,
+				       "u-boot,i2c-slave-addr", 0x7f);
+	dev->speed = fdtdec_get_int(gd->fdt_blob, bus->of_offset,
+				    "clock-frequency", 400000);
+
+	dev->i2c_clk = dev->index ? gd->arch.i2c2_clk : gd->arch.i2c1_clk;
+
+	return 0;
+}
+
+static int fsl_i2c_probe(struct udevice *bus)
+{
+	struct fsl_i2c_dev *dev = dev_get_priv(bus);
+	__i2c_init(dev->base, dev->speed, dev->slaveadd, dev->i2c_clk,
+		   dev->index);
+	return 0;
+}
+
+static int fsl_i2c_xfer(struct udevice *bus, struct i2c_msg *msg, int nmsgs)
+{
+	struct fsl_i2c_dev *dev = dev_get_priv(bus);
+	struct i2c_msg *dmsg, *omsg, dummy;
+
+	memset(&dummy, 0, sizeof(struct i2c_msg));
+
+	/* We expect either two messages (one with an offset and one with the
+	 * actucal data) or one message (just data) */
+	if (nmsgs > 2 || nmsgs == 0) {
+		debug("%s: Only one or two messages are supported.", __func__);
+		return -1;
+	}
+
+	omsg = nmsgs == 1 ? &dummy : msg;
+	dmsg = nmsgs == 1 ? msg : msg + 1;
+
+	if (dmsg->flags & I2C_M_RD)
+		return __i2c_read(dev->base, dmsg->addr, omsg->buf, omsg->len,
+				  dmsg->buf, dmsg->len);
+	else
+		return __i2c_write(dev->base, dmsg->addr, omsg->buf, omsg->len,
+				   dmsg->buf, dmsg->len);
+}
+
+static const struct dm_i2c_ops fsl_i2c_ops = {
+	.xfer           = fsl_i2c_xfer,
+	.probe_chip     = fsl_i2c_probe_chip,
+	.set_bus_speed  = fsl_i2c_set_bus_speed,
+};
+
+static const struct udevice_id fsl_i2c_ids[] = {
+	{ .compatible = "fsl-i2c", },
+	{ /* sentinel */ }
+};
+
+U_BOOT_DRIVER(i2c_fsl) = {
+	.name = "i2c_fsl",
+	.id = UCLASS_I2C,
+	.of_match = fsl_i2c_ids,
+	.probe = fsl_i2c_probe,
+	.ofdata_to_platdata = fsl_i2c_ofdata_to_platdata,
+	.priv_auto_alloc_size = sizeof(struct fsl_i2c_dev),
+	.ops = &fsl_i2c_ops,
+};
+
+#endif /* CONFIG_DM_I2C */
diff --git a/drivers/i2c/i2c-cdns.c b/drivers/i2c/i2c-cdns.c
index 909cea2..5642cd9 100644
--- a/drivers/i2c/i2c-cdns.c
+++ b/drivers/i2c/i2c-cdns.c
@@ -112,48 +112,10 @@
 
 struct i2c_cdns_bus {
 	int id;
+	unsigned int input_freq;
 	struct cdns_i2c_regs __iomem *regs;	/* register base */
 };
 
-
-/** cdns_i2c_probe() - Probe method
- * @dev: udevice pointer
- *
- * DM callback called when device is probed
- */
-static int cdns_i2c_probe(struct udevice *dev)
-{
-	struct i2c_cdns_bus *bus = dev_get_priv(dev);
-
-	bus->regs = (struct cdns_i2c_regs *)dev_get_addr(dev);
-	if (!bus->regs)
-		return -ENOMEM;
-
-	/* TODO: Calculate dividers based on CPU_CLK_1X */
-	/* 111MHz / ( (3 * 17) * 22 ) = ~100KHz */
-	writel((16 << CDNS_I2C_CONTROL_DIV_B_SHIFT) |
-		(2 << CDNS_I2C_CONTROL_DIV_A_SHIFT), &bus->regs->control);
-
-	/* Enable master mode, ack, and 7-bit addressing */
-	setbits_le32(&bus->regs->control, CDNS_I2C_CONTROL_MS |
-		CDNS_I2C_CONTROL_ACKEN | CDNS_I2C_CONTROL_NEA);
-
-	debug("%s bus %d at %p\n", __func__, dev->seq, bus->regs);
-
-	return 0;
-}
-
-static int cdns_i2c_remove(struct udevice *dev)
-{
-	struct i2c_cdns_bus *bus = dev_get_priv(dev);
-
-	debug("%s bus %d at %p\n", __func__, dev->seq, bus->regs);
-
-	unmap_sysmem(bus->regs);
-
-	return 0;
-}
-
 /* Wait for an interrupt */
 static u32 cdns_i2c_wait(struct cdns_i2c_regs *cdns_i2c, u32 mask)
 {
@@ -172,14 +134,84 @@
 	return int_status & mask;
 }
 
+#define CDNS_I2C_DIVA_MAX	4
+#define CDNS_I2C_DIVB_MAX	64
+
+static int cdns_i2c_calc_divs(unsigned long *f, unsigned long input_clk,
+		unsigned int *a, unsigned int *b)
+{
+	unsigned long fscl = *f, best_fscl = *f, actual_fscl, temp;
+	unsigned int div_a, div_b, calc_div_a = 0, calc_div_b = 0;
+	unsigned int last_error, current_error;
+
+	/* calculate (divisor_a+1) x (divisor_b+1) */
+	temp = input_clk / (22 * fscl);
+
+	/*
+	 * If the calculated value is negative or 0CDNS_I2C_DIVA_MAX,
+	 * the fscl input is out of range. Return error.
+	 */
+	if (!temp || (temp > (CDNS_I2C_DIVA_MAX * CDNS_I2C_DIVB_MAX)))
+		return -EINVAL;
+
+	last_error = -1;
+	for (div_a = 0; div_a < CDNS_I2C_DIVA_MAX; div_a++) {
+		div_b = DIV_ROUND_UP(input_clk, 22 * fscl * (div_a + 1));
+
+		if ((div_b < 1) || (div_b > CDNS_I2C_DIVB_MAX))
+			continue;
+		div_b--;
+
+		actual_fscl = input_clk / (22 * (div_a + 1) * (div_b + 1));
+
+		if (actual_fscl > fscl)
+			continue;
+
+		current_error = ((actual_fscl > fscl) ? (actual_fscl - fscl) :
+							(fscl - actual_fscl));
+
+		if (last_error > current_error) {
+			calc_div_a = div_a;
+			calc_div_b = div_b;
+			best_fscl = actual_fscl;
+			last_error = current_error;
+		}
+	}
+
+	*a = calc_div_a;
+	*b = calc_div_b;
+	*f = best_fscl;
+
+	return 0;
+}
+
 static int cdns_i2c_set_bus_speed(struct udevice *dev, unsigned int speed)
 {
-	if (speed != 100000) {
-		printf("%s, failed to set clock speed to %u\n", __func__,
-		       speed);
+	struct i2c_cdns_bus *bus = dev_get_priv(dev);
+	u32 div_a = 0, div_b = 0;
+	unsigned long speed_p = speed;
+	int ret = 0;
+
+	if (speed > 400000) {
+		debug("%s, failed to set clock speed to %u\n", __func__,
+		      speed);
 		return -EINVAL;
 	}
 
+	ret = cdns_i2c_calc_divs(&speed_p, bus->input_freq, &div_a, &div_b);
+	if (ret)
+		return ret;
+
+	debug("%s: div_a: %d, div_b: %d, input freq: %d, speed: %d/%ld\n",
+	      __func__, div_a, div_b, bus->input_freq, speed, speed_p);
+
+	writel((div_b << CDNS_I2C_CONTROL_DIV_B_SHIFT) |
+	       (div_a << CDNS_I2C_CONTROL_DIV_A_SHIFT), &bus->regs->control);
+
+	/* Enable master mode, ack, and 7-bit addressing */
+	setbits_le32(&bus->regs->control, CDNS_I2C_CONTROL_MS |
+		CDNS_I2C_CONTROL_ACKEN | CDNS_I2C_CONTROL_NEA);
+
 	return 0;
 }
 
@@ -313,6 +345,19 @@
 	return 0;
 }
 
+static int cdns_i2c_ofdata_to_platdata(struct udevice *dev)
+{
+	struct i2c_cdns_bus *i2c_bus = dev_get_priv(dev);
+
+	i2c_bus->regs = (struct cdns_i2c_regs *)dev_get_addr(dev);
+	if (!i2c_bus->regs)
+		return -ENOMEM;
+
+	i2c_bus->input_freq = 100000000; /* TODO hardcode input freq for now */
+
+	return 0;
+}
+
 static const struct dm_i2c_ops cdns_i2c_ops = {
 	.xfer = cdns_i2c_xfer,
 	.probe_chip = cdns_i2c_probe_chip,
@@ -328,8 +373,7 @@
 	.name = "i2c-cdns",
 	.id = UCLASS_I2C,
 	.of_match = cdns_i2c_of_match,
-	.probe = cdns_i2c_probe,
-	.remove = cdns_i2c_remove,
+	.ofdata_to_platdata = cdns_i2c_ofdata_to_platdata,
 	.priv_auto_alloc_size = sizeof(struct i2c_cdns_bus),
 	.ops = &cdns_i2c_ops,
 };
diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig
index f959d9d..48900ed 100644
--- a/drivers/i2c/muxes/Kconfig
+++ b/drivers/i2c/muxes/Kconfig
@@ -24,3 +24,13 @@
 	  I2C multimaster arbitration scheme using GPIOs and a challenge &
 	  response mechanism where masters have to claim the bus by asserting
 	  a GPIO.
+
+config I2C_MUX_PCA954x
+	tristate "TI PCA954x I2C Mux/switches"
+	depends on I2C_MUX
+	help
+	  If you say yes here you get support for the TI PCA954x
+	  I2C mux/switch devices. It is x width I2C multiplexer which enables to
+	  paritioning I2C bus and connect multiple devices with the same address
+	  to the same I2C controller where driver handles proper routing to
+	  target i2c device. PCA9544 and PCA9548 are supported.
diff --git a/drivers/i2c/muxes/Makefile b/drivers/i2c/muxes/Makefile
index 47c1240..0811add 100644
--- a/drivers/i2c/muxes/Makefile
+++ b/drivers/i2c/muxes/Makefile
@@ -5,3 +5,4 @@
 #
 obj-$(CONFIG_I2C_ARB_GPIO_CHALLENGE) += i2c-arb-gpio-challenge.o
 obj-$(CONFIG_$(SPL_)I2C_MUX) += i2c-mux-uclass.o
+obj-$(CONFIG_I2C_MUX_PCA954x) += pca954x.o
diff --git a/drivers/i2c/muxes/pca954x.c b/drivers/i2c/muxes/pca954x.c
new file mode 100644
index 0000000..7e0d2da
--- /dev/null
+++ b/drivers/i2c/muxes/pca954x.c
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2015 - 2016 Xilinx, Inc.
+ * Written by Michal Simek
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <errno.h>
+#include <i2c.h>
+#include <asm/gpio.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+struct pca954x_priv {
+	u32 addr; /* I2C mux address */
+	u32 width; /* I2C mux width - number of busses */
+};
+
+static int pca954x_deselect(struct udevice *mux, struct udevice *bus,
+			    uint channel)
+{
+	struct pca954x_priv *priv = dev_get_priv(mux);
+	uchar byte = 0;
+
+	return dm_i2c_write(mux, priv->addr, &byte, 1);
+}
+
+static int pca954x_select(struct udevice *mux, struct udevice *bus,
+			  uint channel)
+{
+	struct pca954x_priv *priv = dev_get_priv(mux);
+	uchar byte = 1 << channel;
+
+	return dm_i2c_write(mux, priv->addr, &byte, 1);
+}
+
+static const struct i2c_mux_ops pca954x_ops = {
+	.select = pca954x_select,
+	.deselect = pca954x_deselect,
+};
+
+static const struct udevice_id pca954x_ids[] = {
+	{ .compatible = "nxp,pca9548", .data = (ulong)8 },
+	{ .compatible = "nxp,pca9544", .data = (ulong)4 },
+	{ }
+};
+
+static int pca954x_ofdata_to_platdata(struct udevice *dev)
+{
+	struct pca954x_priv *priv = dev_get_priv(dev);
+
+	priv->addr = fdtdec_get_int(gd->fdt_blob, dev->of_offset, "reg", 0);
+	if (!priv->addr) {
+		debug("MUX not found\n");
+		return -ENODEV;
+	}
+	priv->width = dev_get_driver_data(dev);
+
+	if (!priv->width) {
+		debug("No I2C MUX width specified\n");
+		return -EINVAL;
+	}
+
+	debug("Device %s at 0x%x with width %d\n",
+	      dev->name, priv->addr, priv->width);
+
+	return 0;
+}
+
+U_BOOT_DRIVER(pca954x) = {
+	.name = "pca954x",
+	.id = UCLASS_I2C_MUX,
+	.of_match = pca954x_ids,
+	.ops = &pca954x_ops,
+	.ofdata_to_platdata = pca954x_ofdata_to_platdata,
+	.priv_auto_alloc_size = sizeof(struct pca954x_priv),
+};
diff --git a/drivers/i2c/mvtwsi.c b/drivers/i2c/mvtwsi.c
index 221ff4f..bf44432 100644
--- a/drivers/i2c/mvtwsi.c
+++ b/drivers/i2c/mvtwsi.c
@@ -185,26 +185,17 @@
 }
 
 /*
- * These flags are ORed to any write to the control register
- * They allow global setting of TWSIEN and ACK.
- * By default none are set.
- * twsi_start() sets TWSIEN (in case the controller was disabled)
- * twsi_recv() sets ACK or resets it depending on expected status.
- */
-static u8 twsi_control_flags = MVTWSI_CONTROL_TWSIEN;
-
-/*
  * Assert the START condition, either in a single I2C transaction
  * or inside back-to-back ones (repeated starts).
  */
-static int twsi_start(struct i2c_adapter *adap, int expected_status)
+static int twsi_start(struct i2c_adapter *adap, int expected_status, u8 *flags)
 {
 	struct mvtwsi_registers *twsi = twsi_get_base(adap);
 
 	/* globally set TWSIEN in case it was not */
-	twsi_control_flags |= MVTWSI_CONTROL_TWSIEN;
+	*flags |= MVTWSI_CONTROL_TWSIEN;
 	/* assert START */
-	writel(twsi_control_flags | MVTWSI_CONTROL_START |
+	writel(*flags | MVTWSI_CONTROL_START |
 				    MVTWSI_CONTROL_CLEAR_IFLG, &twsi->control);
 	/* wait for controller to process START */
 	return twsi_wait(adap, expected_status);
@@ -213,14 +204,15 @@
 /*
  * Send a byte (i2c address or data).
  */
-static int twsi_send(struct i2c_adapter *adap, u8 byte, int expected_status)
+static int twsi_send(struct i2c_adapter *adap, u8 byte, int expected_status,
+		     u8 *flags)
 {
 	struct mvtwsi_registers *twsi = twsi_get_base(adap);
 
 	/* put byte in data register for sending */
 	writel(byte, &twsi->data);
 	/* clear any pending interrupt -- that'll cause sending */
-	writel(twsi_control_flags | MVTWSI_CONTROL_CLEAR_IFLG, &twsi->control);
+	writel(*flags | MVTWSI_CONTROL_CLEAR_IFLG, &twsi->control);
 	/* wait for controller to receive byte and check ACK */
 	return twsi_wait(adap, expected_status);
 }
@@ -229,18 +221,18 @@
  * Receive a byte.
  * Global mvtwsi_control_flags variable says if we should ack or nak.
  */
-static int twsi_recv(struct i2c_adapter *adap, u8 *byte)
+static int twsi_recv(struct i2c_adapter *adap, u8 *byte, u8 *flags)
 {
 	struct mvtwsi_registers *twsi = twsi_get_base(adap);
 	int expected_status, status;
 
 	/* compute expected status based on ACK bit in global control flags */
-	if (twsi_control_flags & MVTWSI_CONTROL_ACK)
+	if (*flags & MVTWSI_CONTROL_ACK)
 		expected_status = MVTWSI_STATUS_DATA_R_ACK;
 	else
 		expected_status = MVTWSI_STATUS_DATA_R_NAK;
 	/* acknowledge *previous state* and launch receive */
-	writel(twsi_control_flags | MVTWSI_CONTROL_CLEAR_IFLG, &twsi->control);
+	writel(*flags | MVTWSI_CONTROL_CLEAR_IFLG, &twsi->control);
 	/* wait for controller to receive byte and assert ACK or NAK */
 	status = twsi_wait(adap, expected_status);
 	/* if we did receive expected byte then store it */
@@ -296,8 +288,7 @@
 static void twsi_reset(struct i2c_adapter *adap)
 {
 	struct mvtwsi_registers *twsi = twsi_get_base(adap);
-	/* ensure controller will be enabled by any twsi*() function */
-	twsi_control_flags = MVTWSI_CONTROL_TWSIEN;
+
 	/* reset controller */
 	writel(0, &twsi->soft_reset);
 	/* wait 2 ms -- this is what the Marvell LSP does */
@@ -353,7 +344,7 @@
  * Expected address status will derive from direction bit (bit 0) in addr.
  */
 static int i2c_begin(struct i2c_adapter *adap, int expected_start_status,
-		     u8 addr)
+		     u8 addr, u8 *flags)
 {
 	int status, expected_addr_status;
 
@@ -363,10 +354,11 @@
 	else /* writing */
 		expected_addr_status = MVTWSI_STATUS_ADDR_W_ACK;
 	/* assert START */
-	status = twsi_start(adap, expected_start_status);
+	status = twsi_start(adap, expected_start_status, flags);
 	/* send out the address if the start went well */
 	if (status == 0)
-		status = twsi_send(adap, addr, expected_addr_status);
+		status = twsi_send(adap, addr, expected_addr_status,
+				   flags);
 	/* return ok or status of first failure to caller */
 	return status;
 }
@@ -378,13 +370,14 @@
 static int twsi_i2c_probe(struct i2c_adapter *adap, uchar chip)
 {
 	u8 dummy_byte;
+	u8 flags = 0;
 	int status;
 
 	/* begin i2c read */
-	status = i2c_begin(adap, MVTWSI_STATUS_START, (chip << 1) | 1);
+	status = i2c_begin(adap, MVTWSI_STATUS_START, (chip << 1) | 1, &flags);
 	/* dummy read was accepted: receive byte but NAK it. */
 	if (status == 0)
-		status = twsi_recv(adap, &dummy_byte);
+		status = twsi_recv(adap, &dummy_byte, &flags);
 	/* Stop transaction */
 	twsi_stop(adap, 0);
 	/* return 0 or status of first failure */
@@ -405,27 +398,28 @@
 			int alen, uchar *data, int length)
 {
 	int status;
+	u8 flags = 0;
 
 	/* begin i2c write to send the address bytes */
-	status = i2c_begin(adap, MVTWSI_STATUS_START, (chip << 1));
+	status = i2c_begin(adap, MVTWSI_STATUS_START, (chip << 1), &flags);
 	/* send addr bytes */
 	while ((status == 0) && alen--)
 		status = twsi_send(adap, addr >> (8*alen),
-			MVTWSI_STATUS_DATA_W_ACK);
+			MVTWSI_STATUS_DATA_W_ACK, &flags);
 	/* begin i2c read to receive eeprom data bytes */
 	if (status == 0)
 		status = i2c_begin(adap, MVTWSI_STATUS_REPEATED_START,
-				   (chip << 1) | 1);
+				   (chip << 1) | 1, &flags);
 	/* prepare ACK if at least one byte must be received */
 	if (length > 0)
-		twsi_control_flags |= MVTWSI_CONTROL_ACK;
+		flags |= MVTWSI_CONTROL_ACK;
 	/* now receive actual bytes */
 	while ((status == 0) && length--) {
 		/* reset NAK if we if no more to read now */
 		if (length == 0)
-			twsi_control_flags &= ~MVTWSI_CONTROL_ACK;
+			flags &= ~MVTWSI_CONTROL_ACK;
 		/* read current byte */
-		status = twsi_recv(adap, data++);
+		status = twsi_recv(adap, data++, &flags);
 	}
 	/* Stop transaction */
 	status = twsi_stop(adap, status);
@@ -441,16 +435,18 @@
 			int alen, uchar *data, int length)
 {
 	int status;
+	u8 flags = 0;
 
 	/* begin i2c write to send the eeprom adress bytes then data bytes */
-	status = i2c_begin(adap, MVTWSI_STATUS_START, (chip << 1));
+	status = i2c_begin(adap, MVTWSI_STATUS_START, (chip << 1), &flags);
 	/* send addr bytes */
 	while ((status == 0) && alen--)
 		status = twsi_send(adap, addr >> (8*alen),
-			MVTWSI_STATUS_DATA_W_ACK);
+			MVTWSI_STATUS_DATA_W_ACK, &flags);
 	/* send data bytes */
 	while ((status == 0) && (length-- > 0))
-		status = twsi_send(adap, *(data++), MVTWSI_STATUS_DATA_W_ACK);
+		status = twsi_send(adap, *(data++), MVTWSI_STATUS_DATA_W_ACK,
+				   &flags);
 	/* Stop transaction */
 	status = twsi_stop(adap, status);
 	/* return 0 or status of first failure */
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index af8667f..c40f6b5 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -138,4 +138,10 @@
 	  legacy UART or other devices in the Winbond Super IO chips
 	  on X86 platforms.
 
+config QFW
+	bool
+	help
+	  Hidden option to enable QEMU fw_cfg interface. This will be selected by
+	  either CONFIG_CMD_QFW or CONFIG_GENERATE_ACPI_TABLE.
+
 endmenu
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 5969d34..98704f2 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -43,3 +43,4 @@
 obj-$(CONFIG_RESET) += reset-uclass.o
 obj-$(CONFIG_FSL_DEVICE_DISABLE) += fsl_devdis.o
 obj-$(CONFIG_WINBOND_W83627) += winbond_w83627.o
+obj-$(CONFIG_QFW) += qfw.o
diff --git a/drivers/misc/qfw.c b/drivers/misc/qfw.c
new file mode 100644
index 0000000..d43d1d3
--- /dev/null
+++ b/drivers/misc/qfw.c
@@ -0,0 +1,386 @@
+/*
+ * (C) Copyright 2015 Miao Yan <yanmiaobest@gmail.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <command.h>
+#include <errno.h>
+#include <malloc.h>
+#include <qfw.h>
+#include <asm/io.h>
+#ifdef CONFIG_GENERATE_ACPI_TABLE
+#include <asm/tables.h>
+#endif
+#include <linux/list.h>
+
+static bool fwcfg_present;
+static bool fwcfg_dma_present;
+static struct fw_cfg_arch_ops *fwcfg_arch_ops;
+
+static LIST_HEAD(fw_list);
+
+#ifdef CONFIG_GENERATE_ACPI_TABLE
+/*
+ * This function allocates memory for ACPI tables
+ *
+ * @entry : BIOS linker command entry which tells where to allocate memory
+ *          (either high memory or low memory)
+ * @addr  : The address that should be used for low memory allcation. If the
+ *          memory allocation request is 'ZONE_HIGH' then this parameter will
+ *          be ignored.
+ * @return: 0 on success, or negative value on failure
+ */
+static int bios_linker_allocate(struct bios_linker_entry *entry, u32 *addr)
+{
+	uint32_t size, align;
+	struct fw_file *file;
+	unsigned long aligned_addr;
+
+	align = le32_to_cpu(entry->alloc.align);
+	/* align must be power of 2 */
+	if (align & (align - 1)) {
+		printf("error: wrong alignment %u\n", align);
+		return -EINVAL;
+	}
+
+	file = qemu_fwcfg_find_file(entry->alloc.file);
+	if (!file) {
+		printf("error: can't find file %s\n", entry->alloc.file);
+		return -ENOENT;
+	}
+
+	size = be32_to_cpu(file->cfg.size);
+
+	/*
+	 * ZONE_HIGH means we need to allocate from high memory, since
+	 * malloc space is already at the end of RAM, so we directly use it.
+	 * If allocation zone is ZONE_FSEG, then we use the 'addr' passed
+	 * in which is low memory
+	 */
+	if (entry->alloc.zone == BIOS_LINKER_LOADER_ALLOC_ZONE_HIGH) {
+		aligned_addr = (unsigned long)memalign(align, size);
+		if (!aligned_addr) {
+			printf("error: allocating resource\n");
+			return -ENOMEM;
+		}
+	} else if (entry->alloc.zone == BIOS_LINKER_LOADER_ALLOC_ZONE_FSEG) {
+		aligned_addr = ALIGN(*addr, align);
+	} else {
+		printf("error: invalid allocation zone\n");
+		return -EINVAL;
+	}
+
+	debug("bios_linker_allocate: allocate file %s, size %u, zone %d, align %u, addr 0x%lx\n",
+	      file->cfg.name, size, entry->alloc.zone, align, aligned_addr);
+
+	qemu_fwcfg_read_entry(be16_to_cpu(file->cfg.select),
+			      size, (void *)aligned_addr);
+	file->addr = aligned_addr;
+
+	/* adjust address for low memory allocation */
+	if (entry->alloc.zone == BIOS_LINKER_LOADER_ALLOC_ZONE_FSEG)
+		*addr = (aligned_addr + size);
+
+	return 0;
+}
+
+/*
+ * This function patches ACPI tables previously loaded
+ * by bios_linker_allocate()
+ *
+ * @entry : BIOS linker command entry which tells how to patch
+ *          ACPI tables
+ * @return: 0 on success, or negative value on failure
+ */
+static int bios_linker_add_pointer(struct bios_linker_entry *entry)
+{
+	struct fw_file *dest, *src;
+	uint32_t offset = le32_to_cpu(entry->pointer.offset);
+	uint64_t pointer = 0;
+
+	dest = qemu_fwcfg_find_file(entry->pointer.dest_file);
+	if (!dest || !dest->addr)
+		return -ENOENT;
+	src = qemu_fwcfg_find_file(entry->pointer.src_file);
+	if (!src || !src->addr)
+		return -ENOENT;
+
+	debug("bios_linker_add_pointer: dest->addr 0x%lx, src->addr 0x%lx, offset 0x%x size %u, 0x%llx\n",
+	      dest->addr, src->addr, offset, entry->pointer.size, pointer);
+
+	memcpy(&pointer, (char *)dest->addr + offset, entry->pointer.size);
+	pointer	= le64_to_cpu(pointer);
+	pointer += (unsigned long)src->addr;
+	pointer	= cpu_to_le64(pointer);
+	memcpy((char *)dest->addr + offset, &pointer, entry->pointer.size);
+
+	return 0;
+}
+
+/*
+ * This function updates checksum fields of ACPI tables previously loaded
+ * by bios_linker_allocate()
+ *
+ * @entry : BIOS linker command entry which tells where to update ACPI table
+ *          checksums
+ * @return: 0 on success, or negative value on failure
+ */
+static int bios_linker_add_checksum(struct bios_linker_entry *entry)
+{
+	struct fw_file *file;
+	uint8_t *data, cksum = 0;
+	uint8_t *cksum_start;
+
+	file = qemu_fwcfg_find_file(entry->cksum.file);
+	if (!file || !file->addr)
+		return -ENOENT;
+
+	data = (uint8_t *)(file->addr + le32_to_cpu(entry->cksum.offset));
+	cksum_start = (uint8_t *)(file->addr + le32_to_cpu(entry->cksum.start));
+	cksum = table_compute_checksum(cksum_start,
+				       le32_to_cpu(entry->cksum.length));
+	*data = cksum;
+
+	return 0;
+}
+
+/* This function loads and patches ACPI tables provided by QEMU */
+u32 write_acpi_tables(u32 addr)
+{
+	int i, ret = 0;
+	struct fw_file *file;
+	struct bios_linker_entry *table_loader;
+	struct bios_linker_entry *entry;
+	uint32_t size;
+
+	/* make sure fw_list is loaded */
+	ret = qemu_fwcfg_read_firmware_list();
+	if (ret) {
+		printf("error: can't read firmware file list\n");
+		return addr;
+	}
+
+	file = qemu_fwcfg_find_file("etc/table-loader");
+	if (!file) {
+		printf("error: can't find etc/table-loader\n");
+		return addr;
+	}
+
+	size = be32_to_cpu(file->cfg.size);
+	if ((size % sizeof(*entry)) != 0) {
+		printf("error: table-loader maybe corrupted\n");
+		return addr;
+	}
+
+	table_loader = malloc(size);
+	if (!table_loader) {
+		printf("error: no memory for table-loader\n");
+		return addr;
+	}
+
+	qemu_fwcfg_read_entry(be16_to_cpu(file->cfg.select),
+			      size, table_loader);
+
+	for (i = 0; i < (size / sizeof(*entry)); i++) {
+		entry = table_loader + i;
+		switch (le32_to_cpu(entry->command)) {
+		case BIOS_LINKER_LOADER_COMMAND_ALLOCATE:
+			ret = bios_linker_allocate(entry, &addr);
+			if (ret)
+				goto out;
+			break;
+		case BIOS_LINKER_LOADER_COMMAND_ADD_POINTER:
+			ret = bios_linker_add_pointer(entry);
+			if (ret)
+				goto out;
+			break;
+		case BIOS_LINKER_LOADER_COMMAND_ADD_CHECKSUM:
+			ret = bios_linker_add_checksum(entry);
+			if (ret)
+				goto out;
+			break;
+		default:
+			break;
+		}
+	}
+
+out:
+	if (ret) {
+		struct fw_cfg_file_iter iter;
+		for (file = qemu_fwcfg_file_iter_init(&iter);
+		     !qemu_fwcfg_file_iter_end(&iter);
+		     file = qemu_fwcfg_file_iter_next(&iter)) {
+			if (file->addr) {
+				free((void *)file->addr);
+				file->addr = 0;
+			}
+		}
+	}
+
+	free(table_loader);
+	return addr;
+}
+#endif
+
+/* Read configuration item using fw_cfg PIO interface */
+static void qemu_fwcfg_read_entry_pio(uint16_t entry,
+		uint32_t size, void *address)
+{
+	debug("qemu_fwcfg_read_entry_pio: entry 0x%x, size %u address %p\n",
+	      entry, size, address);
+
+	return fwcfg_arch_ops->arch_read_pio(entry, size, address);
+}
+
+/* Read configuration item using fw_cfg DMA interface */
+static void qemu_fwcfg_read_entry_dma(uint16_t entry,
+		uint32_t size, void *address)
+{
+	struct fw_cfg_dma_access dma;
+
+	dma.length = cpu_to_be32(size);
+	dma.address = cpu_to_be64((uintptr_t)address);
+	dma.control = cpu_to_be32(FW_CFG_DMA_READ);
+
+	/*
+	 * writting FW_CFG_INVALID will cause read operation to resume at
+	 * last offset, otherwise read will start at offset 0
+	 */
+	if (entry != FW_CFG_INVALID)
+		dma.control |= cpu_to_be32(FW_CFG_DMA_SELECT | (entry << 16));
+
+	barrier();
+
+	debug("qemu_fwcfg_read_entry_dma: entry 0x%x, size %u address %p, control 0x%x\n",
+	      entry, size, address, be32_to_cpu(dma.control));
+
+	fwcfg_arch_ops->arch_read_dma(&dma);
+}
+
+bool qemu_fwcfg_present(void)
+{
+	return fwcfg_present;
+}
+
+bool qemu_fwcfg_dma_present(void)
+{
+	return fwcfg_dma_present;
+}
+
+void qemu_fwcfg_read_entry(uint16_t entry, uint32_t length, void *address)
+{
+	if (fwcfg_dma_present)
+		qemu_fwcfg_read_entry_dma(entry, length, address);
+	else
+		qemu_fwcfg_read_entry_pio(entry, length, address);
+}
+
+int qemu_fwcfg_online_cpus(void)
+{
+	uint16_t nb_cpus;
+
+	if (!fwcfg_present)
+		return -ENODEV;
+
+	qemu_fwcfg_read_entry(FW_CFG_NB_CPUS, 2, &nb_cpus);
+
+	return le16_to_cpu(nb_cpus);
+}
+
+int qemu_fwcfg_read_firmware_list(void)
+{
+	int i;
+	uint32_t count;
+	struct fw_file *file;
+	struct list_head *entry;
+
+	/* don't read it twice */
+	if (!list_empty(&fw_list))
+		return 0;
+
+	qemu_fwcfg_read_entry(FW_CFG_FILE_DIR, 4, &count);
+	if (!count)
+		return 0;
+
+	count = be32_to_cpu(count);
+	for (i = 0; i < count; i++) {
+		file = malloc(sizeof(*file));
+		if (!file) {
+			printf("error: allocating resource\n");
+			goto err;
+		}
+		qemu_fwcfg_read_entry(FW_CFG_INVALID,
+				      sizeof(struct fw_cfg_file), &file->cfg);
+		file->addr = 0;
+		list_add_tail(&file->list, &fw_list);
+	}
+
+	return 0;
+
+err:
+	list_for_each(entry, &fw_list) {
+		file = list_entry(entry, struct fw_file, list);
+		free(file);
+	}
+
+	return -ENOMEM;
+}
+
+struct fw_file *qemu_fwcfg_find_file(const char *name)
+{
+	struct list_head *entry;
+	struct fw_file *file;
+
+	list_for_each(entry, &fw_list) {
+		file = list_entry(entry, struct fw_file, list);
+		if (!strcmp(file->cfg.name, name))
+			return file;
+	}
+
+	return NULL;
+}
+
+struct fw_file *qemu_fwcfg_file_iter_init(struct fw_cfg_file_iter *iter)
+{
+	iter->entry = fw_list.next;
+	return list_entry((struct list_head *)iter->entry,
+			  struct fw_file, list);
+}
+
+struct fw_file *qemu_fwcfg_file_iter_next(struct fw_cfg_file_iter *iter)
+{
+	iter->entry = ((struct list_head *)iter->entry)->next;
+	return list_entry((struct list_head *)iter->entry,
+			  struct fw_file, list);
+}
+
+bool qemu_fwcfg_file_iter_end(struct fw_cfg_file_iter *iter)
+{
+	return iter->entry == &fw_list;
+}
+
+void qemu_fwcfg_init(struct fw_cfg_arch_ops *ops)
+{
+	uint32_t qemu;
+	uint32_t dma_enabled;
+
+	fwcfg_present = false;
+	fwcfg_dma_present = false;
+	fwcfg_arch_ops = NULL;
+
+	if (!ops || !ops->arch_read_pio || !ops->arch_read_dma)
+		return;
+	fwcfg_arch_ops = ops;
+
+	qemu_fwcfg_read_entry_pio(FW_CFG_SIGNATURE, 4, &qemu);
+	if (be32_to_cpu(qemu) == QEMU_FW_CFG_SIGNATURE)
+		fwcfg_present = true;
+
+	if (fwcfg_present) {
+		qemu_fwcfg_read_entry_pio(FW_CFG_ID, 1, &dma_enabled);
+		if (dma_enabled & FW_CFG_DMA_ENABLED)
+			fwcfg_dma_present = true;
+	}
+}
diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
index 4d3df11..c80efc3 100644
--- a/drivers/mmc/Kconfig
+++ b/drivers/mmc/Kconfig
@@ -2,7 +2,7 @@
 
 config MMC
 	bool "Enable MMC support"
-	depends on ARCH_SUNXI
+	depends on ARCH_SUNXI || SANDBOX
 	help
 	  TODO: Move all architectures to use this option
 
@@ -58,4 +58,13 @@
 	help
 	  This selects support for the SD/MMC Host Controller on UniPhier SoCs.
 
+config SANDBOX_MMC
+	bool "Sandbox MMC support"
+	depends on MMC && SANDBOX
+	help
+	  This select a dummy sandbox MMC driver. At present this does nothing
+	  other than allow sandbox to be build with MMC support. This
+	  improves build coverage for sandbox and makes it easier to detect
+	  MMC build errors with sandbox.
+
 endmenu
diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile
index 585aaf3..3da4817 100644
--- a/drivers/mmc/Makefile
+++ b/drivers/mmc/Makefile
@@ -5,7 +5,13 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
-obj-$(CONFIG_DM_MMC) += mmc-uclass.o
+ifdef CONFIG_DM_MMC
+obj-$(CONFIG_GENERIC_MMC) += mmc-uclass.o
+endif
+
+ifndef CONFIG_BLK
+obj-$(CONFIG_GENERIC_MMC) += mmc_legacy.o
+endif
 
 obj-$(CONFIG_ARM_PL180_MMCI) += arm_pl180_mmci.o
 obj-$(CONFIG_ATMEL_SDHCI) += atmel_sdhci.o
@@ -34,7 +40,11 @@
 obj-$(CONFIG_SUPPORT_EMMC_RPMB) += rpmb.o
 obj-$(CONFIG_S3C_SDI) += s3c_sdi.o
 obj-$(CONFIG_S5P_SDHCI) += s5p_sdhci.o
+ifdef CONFIG_BLK
+ifdef CONFIG_GENERIC_MMC
 obj-$(CONFIG_SANDBOX) += sandbox_mmc.o
+endif
+endif
 obj-$(CONFIG_SDHCI) += sdhci.o
 obj-$(CONFIG_SH_MMCIF) += sh_mmcif.o
 obj-$(CONFIG_SH_SDHI) += sh_sdhi.o
diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c
index 777489f..1b967d9 100644
--- a/drivers/mmc/mmc-uclass.c
+++ b/drivers/mmc/mmc-uclass.c
@@ -21,6 +21,112 @@
 	return upriv->mmc;
 }
 
+#ifdef CONFIG_BLK
+struct mmc *find_mmc_device(int dev_num)
+{
+	struct udevice *dev, *mmc_dev;
+	int ret;
+
+	ret = blk_get_device(IF_TYPE_MMC, dev_num, &dev);
+
+	if (ret) {
+#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
+		printf("MMC Device %d not found\n", dev_num);
+#endif
+		return NULL;
+	}
+
+	mmc_dev = dev_get_parent(dev);
+
+	return mmc_get_mmc_dev(mmc_dev);
+}
+
+int get_mmc_num(void)
+{
+	return max(blk_find_max_devnum(IF_TYPE_MMC), 0);
+}
+
+int mmc_get_next_devnum(void)
+{
+	int ret;
+
+	ret = get_mmc_num();
+	if (ret < 0)
+		return ret;
+
+	return ret + 1;
+}
+
+struct blk_desc *mmc_get_blk_desc(struct mmc *mmc)
+{
+	struct blk_desc *desc;
+	struct udevice *dev;
+
+	device_find_first_child(mmc->dev, &dev);
+	if (!dev)
+		return NULL;
+	desc = dev_get_uclass_platdata(dev);
+
+	return desc;
+}
+
+void mmc_do_preinit(void)
+{
+	struct udevice *dev;
+	struct uclass *uc;
+	int ret;
+
+	ret = uclass_get(UCLASS_MMC, &uc);
+	if (ret)
+		return;
+	uclass_foreach_dev(dev, uc) {
+		struct mmc *m = mmc_get_mmc_dev(dev);
+
+		if (!m)
+			continue;
+#ifdef CONFIG_FSL_ESDHC_ADAPTER_IDENT
+		mmc_set_preinit(m, 1);
+#endif
+		if (m->preinit)
+			mmc_start_init(m);
+	}
+}
+
+#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
+void print_mmc_devices(char separator)
+{
+	struct udevice *dev;
+	char *mmc_type;
+	bool first = true;
+
+	for (uclass_first_device(UCLASS_MMC, &dev);
+	     dev;
+	     uclass_next_device(&dev)) {
+		struct mmc *m = mmc_get_mmc_dev(dev);
+
+		if (!first) {
+			printf("%c", separator);
+			if (separator != '\n')
+				puts(" ");
+		}
+		if (m->has_init)
+			mmc_type = IS_SD(m) ? "SD" : "eMMC";
+		else
+			mmc_type = NULL;
+
+		printf("%s: %d", m->cfg->name, mmc_get_blk_desc(m)->devnum);
+		if (mmc_type)
+			printf(" (%s)", mmc_type);
+	}
+
+	printf("\n");
+}
+
+#else
+void print_mmc_devices(char separator) { }
+#endif
+#endif /* CONFIG_BLK */
+
 U_BOOT_DRIVER(mmc) = {
 	.name	= "mmc",
 	.id	= UCLASS_MMC,
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index d3c22ab..74b3d68 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -21,9 +21,6 @@
 #include <div64.h>
 #include "mmc_private.h"
 
-static struct list_head mmc_devices;
-static int cur_dev_num = -1;
-
 __weak int board_mmc_getwp(struct mmc *mmc)
 {
 	return -1;
@@ -178,25 +175,6 @@
 	return mmc_send_cmd(mmc, &cmd, NULL);
 }
 
-struct mmc *find_mmc_device(int dev_num)
-{
-	struct mmc *m;
-	struct list_head *entry;
-
-	list_for_each(entry, &mmc_devices) {
-		m = list_entry(entry, struct mmc, link);
-
-		if (m->block_dev.devnum == dev_num)
-			return m;
-	}
-
-#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
-	printf("MMC Device %d not found\n", dev_num);
-#endif
-
-	return NULL;
-}
-
 static int mmc_read_blocks(struct mmc *mmc, void *dst, lbaint_t start,
 			   lbaint_t blkcnt)
 {
@@ -238,9 +216,17 @@
 	return blkcnt;
 }
 
+#ifdef CONFIG_BLK
+static ulong mmc_bread(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
+		       void *dst)
+#else
 static ulong mmc_bread(struct blk_desc *block_dev, lbaint_t start,
 		       lbaint_t blkcnt, void *dst)
+#endif
 {
+#ifdef CONFIG_BLK
+	struct blk_desc *block_dev = dev_get_uclass_platdata(dev);
+#endif
 	int dev_num = block_dev->devnum;
 	int err;
 	lbaint_t cur, blocks_todo = blkcnt;
@@ -252,14 +238,14 @@
 	if (!mmc)
 		return 0;
 
-	err = mmc_select_hwpart(dev_num, block_dev->hwpart);
+	err = blk_dselect_hwpart(block_dev, block_dev->hwpart);
 	if (err < 0)
 		return 0;
 
-	if ((start + blkcnt) > mmc->block_dev.lba) {
+	if ((start + blkcnt) > block_dev->lba) {
 #if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
 		printf("MMC: block number 0x" LBAF " exceeds max(0x" LBAF ")\n",
-			start + blkcnt, mmc->block_dev.lba);
+			start + blkcnt, block_dev->lba);
 #endif
 		return 0;
 	}
@@ -577,43 +563,15 @@
 		return -1;
 	}
 
-	mmc->block_dev.lba = lldiv(mmc->capacity, mmc->read_bl_len);
+	mmc_get_blk_desc(mmc)->lba = lldiv(mmc->capacity, mmc->read_bl_len);
 
 	return 0;
 }
 
-int mmc_select_hwpart(int dev_num, int hwpart)
+static int mmc_switch_part(struct mmc *mmc, unsigned int part_num)
 {
-	struct mmc *mmc = find_mmc_device(dev_num);
 	int ret;
 
-	if (!mmc)
-		return -ENODEV;
-
-	if (mmc->block_dev.hwpart == hwpart)
-		return 0;
-
-	if (mmc->part_config == MMCPART_NOAVAILABLE) {
-		printf("Card doesn't support part_switch\n");
-		return -EMEDIUMTYPE;
-	}
-
-	ret = mmc_switch_part(dev_num, hwpart);
-	if (ret)
-		return ret;
-
-	return 0;
-}
-
-
-int mmc_switch_part(int dev_num, unsigned int part_num)
-{
-	struct mmc *mmc = find_mmc_device(dev_num);
-	int ret;
-
-	if (!mmc)
-		return -1;
-
 	ret = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_PART_CONF,
 			 (mmc->part_config & ~PART_ACCESS_MASK)
 			 | (part_num & PART_ACCESS_MASK));
@@ -624,12 +582,55 @@
 	 */
 	if ((ret == 0) || ((ret == -ENODEV) && (part_num == 0))) {
 		ret = mmc_set_capacity(mmc, part_num);
-		mmc->block_dev.hwpart = part_num;
+		mmc_get_blk_desc(mmc)->hwpart = part_num;
 	}
 
 	return ret;
 }
 
+#ifdef CONFIG_BLK
+static int mmc_select_hwpart(struct udevice *bdev, int hwpart)
+{
+	struct udevice *mmc_dev = dev_get_parent(bdev);
+	struct mmc *mmc = mmc_get_mmc_dev(mmc_dev);
+	struct blk_desc *desc = dev_get_uclass_platdata(bdev);
+	int ret;
+
+	if (desc->hwpart == hwpart)
+		return 0;
+
+	if (mmc->part_config == MMCPART_NOAVAILABLE)
+		return -EMEDIUMTYPE;
+
+	ret = mmc_switch_part(mmc, hwpart);
+	if (ret)
+		return ret;
+
+	return 0;
+}
+#else
+static int mmc_select_hwpartp(struct blk_desc *desc, int hwpart)
+{
+	struct mmc *mmc = find_mmc_device(desc->devnum);
+	int ret;
+
+	if (!mmc)
+		return -ENODEV;
+
+	if (mmc->block_dev.hwpart == hwpart)
+		return 0;
+
+	if (mmc->part_config == MMCPART_NOAVAILABLE)
+		return -EMEDIUMTYPE;
+
+	ret = mmc_switch_part(mmc, hwpart);
+	if (ret)
+		return ret;
+
+	return 0;
+}
+#endif
+
 int mmc_hwpart_config(struct mmc *mmc,
 		      const struct mmc_hwpart_conf *conf,
 		      enum mmc_hwpart_conf_mode mode)
@@ -1039,6 +1040,7 @@
 	int timeout = 1000;
 	bool has_parts = false;
 	bool part_completed;
+	struct blk_desc *bdesc;
 
 #ifdef CONFIG_MMC_SPI_CRC_ON
 	if (mmc_host_is_spi(mmc)) { /* enable CRC check for spi */
@@ -1335,7 +1337,7 @@
 		mmc->wr_rel_set = ext_csd[EXT_CSD_WR_REL_SET];
 	}
 
-	err = mmc_set_capacity(mmc, mmc->block_dev.hwpart);
+	err = mmc_set_capacity(mmc, mmc_get_blk_desc(mmc)->hwpart);
 	if (err)
 		return err;
 
@@ -1475,31 +1477,32 @@
 	}
 
 	/* fill in device description */
-	mmc->block_dev.lun = 0;
-	mmc->block_dev.hwpart = 0;
-	mmc->block_dev.type = 0;
-	mmc->block_dev.blksz = mmc->read_bl_len;
-	mmc->block_dev.log2blksz = LOG2(mmc->block_dev.blksz);
-	mmc->block_dev.lba = lldiv(mmc->capacity, mmc->read_bl_len);
+	bdesc = mmc_get_blk_desc(mmc);
+	bdesc->lun = 0;
+	bdesc->hwpart = 0;
+	bdesc->type = 0;
+	bdesc->blksz = mmc->read_bl_len;
+	bdesc->log2blksz = LOG2(bdesc->blksz);
+	bdesc->lba = lldiv(mmc->capacity, mmc->read_bl_len);
 #if !defined(CONFIG_SPL_BUILD) || \
 		(defined(CONFIG_SPL_LIBCOMMON_SUPPORT) && \
 		!defined(CONFIG_USE_TINY_PRINTF))
-	sprintf(mmc->block_dev.vendor, "Man %06x Snr %04x%04x",
+	sprintf(bdesc->vendor, "Man %06x Snr %04x%04x",
 		mmc->cid[0] >> 24, (mmc->cid[2] & 0xffff),
 		(mmc->cid[3] >> 16) & 0xffff);
-	sprintf(mmc->block_dev.product, "%c%c%c%c%c%c", mmc->cid[0] & 0xff,
+	sprintf(bdesc->product, "%c%c%c%c%c%c", mmc->cid[0] & 0xff,
 		(mmc->cid[1] >> 24), (mmc->cid[1] >> 16) & 0xff,
 		(mmc->cid[1] >> 8) & 0xff, mmc->cid[1] & 0xff,
 		(mmc->cid[2] >> 24) & 0xff);
-	sprintf(mmc->block_dev.revision, "%d.%d", (mmc->cid[2] >> 20) & 0xf,
+	sprintf(bdesc->revision, "%d.%d", (mmc->cid[2] >> 20) & 0xf,
 		(mmc->cid[2] >> 16) & 0xf);
 #else
-	mmc->block_dev.vendor[0] = 0;
-	mmc->block_dev.product[0] = 0;
-	mmc->block_dev.revision[0] = 0;
+	bdesc->vendor[0] = 0;
+	bdesc->product[0] = 0;
+	bdesc->revision[0] = 0;
 #endif
 #if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBDISK_SUPPORT)
-	part_init(&mmc->block_dev);
+	part_init(bdesc);
 #endif
 
 	return 0;
@@ -1537,8 +1540,55 @@
 	return -1;
 }
 
+#ifdef CONFIG_BLK
+int mmc_bind(struct udevice *dev, struct mmc *mmc, const struct mmc_config *cfg)
+{
+	struct blk_desc *bdesc;
+	struct udevice *bdev;
+	int ret;
+
+	ret = blk_create_devicef(dev, "mmc_blk", "blk", IF_TYPE_MMC, -1, 512,
+				 0, &bdev);
+	if (ret) {
+		debug("Cannot create block device\n");
+		return ret;
+	}
+	bdesc = dev_get_uclass_platdata(bdev);
+	mmc->cfg = cfg;
+	mmc->priv = dev;
+
+	/* the following chunk was from mmc_register() */
+
+	/* Setup dsr related values */
+	mmc->dsr_imp = 0;
+	mmc->dsr = 0xffffffff;
+	/* Setup the universal parts of the block interface just once */
+	bdesc->removable = 1;
+
+	/* setup initial part type */
+	bdesc->part_type = mmc->cfg->part_type;
+	mmc->dev = dev;
+
+	return 0;
+}
+
+int mmc_unbind(struct udevice *dev)
+{
+	struct udevice *bdev;
+
+	device_find_first_child(dev, &bdev);
+	if (bdev) {
+		device_remove(bdev);
+		device_unbind(bdev);
+	}
+
+	return 0;
+}
+
+#else
 struct mmc *mmc_create(const struct mmc_config *cfg, void *priv)
 {
+	struct blk_desc *bdesc;
 	struct mmc *mmc;
 
 	/* quick validation */
@@ -1559,19 +1609,17 @@
 	mmc->dsr_imp = 0;
 	mmc->dsr = 0xffffffff;
 	/* Setup the universal parts of the block interface just once */
-	mmc->block_dev.if_type = IF_TYPE_MMC;
-	mmc->block_dev.devnum = cur_dev_num++;
-	mmc->block_dev.removable = 1;
-	mmc->block_dev.block_read = mmc_bread;
-	mmc->block_dev.block_write = mmc_bwrite;
-	mmc->block_dev.block_erase = mmc_berase;
+	bdesc = mmc_get_blk_desc(mmc);
+	bdesc->if_type = IF_TYPE_MMC;
+	bdesc->removable = 1;
+	bdesc->devnum = mmc_get_next_devnum();
+	bdesc->block_read = mmc_bread;
+	bdesc->block_write = mmc_bwrite;
+	bdesc->block_erase = mmc_berase;
 
 	/* setup initial part type */
-	mmc->block_dev.part_type = mmc->cfg->part_type;
-
-	INIT_LIST_HEAD(&mmc->link);
-
-	list_add_tail(&mmc->link, &mmc_devices);
+	bdesc->part_type = mmc->cfg->part_type;
+	mmc_list_add(mmc);
 
 	return mmc;
 }
@@ -1581,15 +1629,23 @@
 	/* only freeing memory for now */
 	free(mmc);
 }
+#endif
 
-#ifdef CONFIG_PARTITIONS
-struct blk_desc *mmc_get_dev(int dev)
+#ifndef CONFIG_BLK
+static int mmc_get_dev(int dev, struct blk_desc **descp)
 {
 	struct mmc *mmc = find_mmc_device(dev);
-	if (!mmc || mmc_init(mmc))
-		return NULL;
+	int ret;
 
-	return &mmc->block_dev;
+	if (!mmc)
+		return -ENODEV;
+	ret = mmc_init(mmc);
+	if (ret)
+		return ret;
+
+	*descp = &mmc->block_dev;
+
+	return 0;
 }
 #endif
 
@@ -1636,7 +1692,7 @@
 		return err;
 
 	/* The internal partition reset to user partition(0) at every CMD0*/
-	mmc->block_dev.hwpart = 0;
+	mmc_get_blk_desc(mmc)->hwpart = 0;
 
 	/* Test for SD version 2 */
 	err = mmc_send_if_cond(mmc);
@@ -1683,7 +1739,11 @@
 {
 	int err = 0;
 	unsigned start;
+#ifdef CONFIG_DM_MMC
+	struct mmc_uclass_priv *upriv = dev_get_uclass_priv(mmc->dev);
 
+	upriv->mmc = mmc;
+#endif
 	if (mmc->has_init)
 		return 0;
 
@@ -1716,66 +1776,11 @@
 	return -1;
 }
 
-#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
-
-void print_mmc_devices(char separator)
-{
-	struct mmc *m;
-	struct list_head *entry;
-	char *mmc_type;
-
-	list_for_each(entry, &mmc_devices) {
-		m = list_entry(entry, struct mmc, link);
-
-		if (m->has_init)
-			mmc_type = IS_SD(m) ? "SD" : "eMMC";
-		else
-			mmc_type = NULL;
-
-		printf("%s: %d", m->cfg->name, m->block_dev.devnum);
-		if (mmc_type)
-			printf(" (%s)", mmc_type);
-
-		if (entry->next != &mmc_devices) {
-			printf("%c", separator);
-			if (separator != '\n')
-				puts (" ");
-		}
-	}
-
-	printf("\n");
-}
-
-#else
-void print_mmc_devices(char separator) { }
-#endif
-
-int get_mmc_num(void)
-{
-	return cur_dev_num;
-}
-
 void mmc_set_preinit(struct mmc *mmc, int preinit)
 {
 	mmc->preinit = preinit;
 }
 
-static void do_preinit(void)
-{
-	struct mmc *m;
-	struct list_head *entry;
-
-	list_for_each(entry, &mmc_devices) {
-		m = list_entry(entry, struct mmc, link);
-
-#ifdef CONFIG_FSL_ESDHC_ADAPTER_IDENT
-		mmc_set_preinit(m, 1);
-#endif
-		if (m->preinit)
-			mmc_start_init(m);
-	}
-}
-
 #if defined(CONFIG_DM_MMC) && defined(CONFIG_SPL_BUILD)
 static int mmc_probe(bd_t *bis)
 {
@@ -1828,9 +1833,9 @@
 		return 0;
 	initialized = 1;
 
-	INIT_LIST_HEAD (&mmc_devices);
-	cur_dev_num = 0;
-
+#ifndef CONFIG_BLK
+	mmc_list_init();
+#endif
 	ret = mmc_probe(bis);
 	if (ret)
 		return ret;
@@ -1839,7 +1844,7 @@
 	print_mmc_devices(',');
 #endif
 
-	do_preinit();
+	mmc_do_preinit();
 	return 0;
 }
 
@@ -1965,3 +1970,25 @@
 			  enable);
 }
 #endif
+
+#ifdef CONFIG_BLK
+static const struct blk_ops mmc_blk_ops = {
+	.read	= mmc_bread,
+	.write	= mmc_bwrite,
+	.select_hwpart	= mmc_select_hwpart,
+};
+
+U_BOOT_DRIVER(mmc_blk) = {
+	.name		= "mmc_blk",
+	.id		= UCLASS_BLK,
+	.ops		= &mmc_blk_ops,
+};
+#else
+U_BOOT_LEGACY_BLK(mmc) = {
+	.if_typename	= "mmc",
+	.if_type	= IF_TYPE_MMC,
+	.max_devs	= -1,
+	.get_dev	= mmc_get_dev,
+	.select_hwpart	= mmc_select_hwpartp,
+};
+#endif
diff --git a/drivers/mmc/mmc_legacy.c b/drivers/mmc/mmc_legacy.c
new file mode 100644
index 0000000..3ec649f
--- /dev/null
+++ b/drivers/mmc/mmc_legacy.c
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2016 Google, Inc
+ * Written by Simon Glass <sjg@chromium.org>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <mmc.h>
+
+static struct list_head mmc_devices;
+static int cur_dev_num = -1;
+
+struct mmc *find_mmc_device(int dev_num)
+{
+	struct mmc *m;
+	struct list_head *entry;
+
+	list_for_each(entry, &mmc_devices) {
+		m = list_entry(entry, struct mmc, link);
+
+		if (m->block_dev.devnum == dev_num)
+			return m;
+	}
+
+#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
+	printf("MMC Device %d not found\n", dev_num);
+#endif
+
+	return NULL;
+}
+
+int mmc_get_next_devnum(void)
+{
+	return cur_dev_num++;
+}
+
+struct blk_desc *mmc_get_blk_desc(struct mmc *mmc)
+{
+	return &mmc->block_dev;
+}
+
+int get_mmc_num(void)
+{
+	return cur_dev_num;
+}
+
+void mmc_do_preinit(void)
+{
+	struct mmc *m;
+	struct list_head *entry;
+
+	list_for_each(entry, &mmc_devices) {
+		m = list_entry(entry, struct mmc, link);
+
+#ifdef CONFIG_FSL_ESDHC_ADAPTER_IDENT
+		mmc_set_preinit(m, 1);
+#endif
+		if (m->preinit)
+			mmc_start_init(m);
+	}
+}
+
+void mmc_list_init(void)
+{
+	INIT_LIST_HEAD(&mmc_devices);
+	cur_dev_num = 0;
+}
+
+void mmc_list_add(struct mmc *mmc)
+{
+	INIT_LIST_HEAD(&mmc->link);
+
+	list_add_tail(&mmc->link, &mmc_devices);
+}
+
+#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
+void print_mmc_devices(char separator)
+{
+	struct mmc *m;
+	struct list_head *entry;
+	char *mmc_type;
+
+	list_for_each(entry, &mmc_devices) {
+		m = list_entry(entry, struct mmc, link);
+
+		if (m->has_init)
+			mmc_type = IS_SD(m) ? "SD" : "eMMC";
+		else
+			mmc_type = NULL;
+
+		printf("%s: %d", m->cfg->name, m->block_dev.devnum);
+		if (mmc_type)
+			printf(" (%s)", mmc_type);
+
+		if (entry->next != &mmc_devices) {
+			printf("%c", separator);
+			if (separator != '\n')
+				puts(" ");
+		}
+	}
+
+	printf("\n");
+}
+
+#else
+void print_mmc_devices(char separator) { }
+#endif
diff --git a/drivers/mmc/mmc_private.h b/drivers/mmc/mmc_private.h
index d3f6bfe..27b9e5f 100644
--- a/drivers/mmc/mmc_private.h
+++ b/drivers/mmc/mmc_private.h
@@ -25,8 +25,13 @@
 unsigned long mmc_berase(struct blk_desc *block_dev, lbaint_t start,
 			 lbaint_t blkcnt);
 
-unsigned long mmc_bwrite(struct blk_desc *block_dev, lbaint_t start,
-			 lbaint_t blkcnt, const void *src);
+#ifdef CONFIG_BLK
+ulong mmc_bwrite(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
+		 const void *src);
+#else
+ulong mmc_bwrite(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt,
+		 const void *src);
+#endif
 
 #else /* CONFIG_SPL_BUILD */
 
@@ -46,4 +51,28 @@
 
 #endif /* CONFIG_SPL_BUILD */
 
+/**
+ * mmc_get_next_devnum() - Get the next available MMC device number
+ *
+ * @return next available device number (0 = first), or -ve on error
+ */
+int mmc_get_next_devnum(void);
+
+/**
+ * mmc_do_preinit() - Get an MMC device ready for use
+ */
+void mmc_do_preinit(void);
+
+/**
+ * mmc_list_init() - Set up the list of MMC devices
+ */
+void mmc_list_init(void);
+
+/**
+ * mmc_list_add() - Add a new MMC device to the list of devices
+ *
+ * @mmc:	Device to add
+ */
+void mmc_list_add(struct mmc *mmc);
+
 #endif /* _MMC_PRIVATE_H_ */
diff --git a/drivers/mmc/mmc_write.c b/drivers/mmc/mmc_write.c
index 7b186f8..0f8b5c7 100644
--- a/drivers/mmc/mmc_write.c
+++ b/drivers/mmc/mmc_write.c
@@ -9,6 +9,7 @@
 
 #include <config.h>
 #include <common.h>
+#include <dm.h>
 #include <part.h>
 #include <div64.h>
 #include <linux/math64.h>
@@ -78,7 +79,8 @@
 	if (!mmc)
 		return -1;
 
-	err = mmc_select_hwpart(dev_num, block_dev->hwpart);
+	err = blk_select_hwpart_devnum(IF_TYPE_MMC, dev_num,
+				       block_dev->hwpart);
 	if (err < 0)
 		return -1;
 
@@ -121,9 +123,9 @@
 	struct mmc_data data;
 	int timeout = 1000;
 
-	if ((start + blkcnt) > mmc->block_dev.lba) {
+	if ((start + blkcnt) > mmc_get_blk_desc(mmc)->lba) {
 		printf("MMC: block number 0x" LBAF " exceeds max(0x" LBAF ")\n",
-		       start + blkcnt, mmc->block_dev.lba);
+		       start + blkcnt, mmc_get_blk_desc(mmc)->lba);
 		return 0;
 	}
 
@@ -171,9 +173,17 @@
 	return blkcnt;
 }
 
+#ifdef CONFIG_BLK
+ulong mmc_bwrite(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
+		 const void *src)
+#else
 ulong mmc_bwrite(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt,
 		 const void *src)
+#endif
 {
+#ifdef CONFIG_BLK
+	struct blk_desc *block_dev = dev_get_uclass_platdata(dev);
+#endif
 	int dev_num = block_dev->devnum;
 	lbaint_t cur, blocks_todo = blkcnt;
 	int err;
@@ -182,7 +192,7 @@
 	if (!mmc)
 		return 0;
 
-	err = mmc_select_hwpart(dev_num, block_dev->hwpart);
+	err = blk_select_hwpart_devnum(IF_TYPE_MMC, dev_num, block_dev->hwpart);
 	if (err < 0)
 		return 0;
 
diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
index 85a832b..be34057 100644
--- a/drivers/mmc/omap_hsmmc.c
+++ b/drivers/mmc/omap_hsmmc.c
@@ -825,6 +825,7 @@
 	gpio_request_by_name(dev, "wp-gpios", 0, &priv->wp_gpio, GPIOD_IS_IN);
 #endif
 
+	mmc->dev = dev;
 	upriv->mmc = mmc;
 
 	return 0;
diff --git a/drivers/mmc/pic32_sdhci.c b/drivers/mmc/pic32_sdhci.c
index e03d6dd..abe7429 100644
--- a/drivers/mmc/pic32_sdhci.c
+++ b/drivers/mmc/pic32_sdhci.c
@@ -41,7 +41,12 @@
 		return ret;
 	}
 
-	return add_sdhci(host, f_min_max[1], f_min_max[0]);
+	ret = add_sdhci(host, f_min_max[1], f_min_max[0]);
+	if (ret)
+		return ret;
+	host->mmc->dev = dev;
+
+	return 0;
 }
 
 static const struct udevice_id pic32_sdhci_ids[] = {
diff --git a/drivers/mmc/rockchip_dw_mmc.c b/drivers/mmc/rockchip_dw_mmc.c
index cb9e104..0a261c5 100644
--- a/drivers/mmc/rockchip_dw_mmc.c
+++ b/drivers/mmc/rockchip_dw_mmc.c
@@ -104,6 +104,7 @@
 	if (ret)
 		return ret;
 
+	host->mmc->dev = dev;
 	upriv->mmc = host->mmc;
 
 	return 0;
diff --git a/drivers/mmc/sandbox_mmc.c b/drivers/mmc/sandbox_mmc.c
index f4646a8..7da059c 100644
--- a/drivers/mmc/sandbox_mmc.c
+++ b/drivers/mmc/sandbox_mmc.c
@@ -8,18 +8,150 @@
 #include <common.h>
 #include <dm.h>
 #include <errno.h>
+#include <fdtdec.h>
 #include <mmc.h>
 #include <asm/test.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
+struct sandbox_mmc_plat {
+	struct mmc_config cfg;
+	struct mmc mmc;
+};
+
+/**
+ * sandbox_mmc_send_cmd() - Emulate SD commands
+ *
+ * This emulate an SD card version 2. Single-block reads result in zero data.
+ * Multiple-block reads return a test string.
+ */
+static int sandbox_mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
+				struct mmc_data *data)
+{
+	switch (cmd->cmdidx) {
+	case MMC_CMD_ALL_SEND_CID:
+		break;
+	case SD_CMD_SEND_RELATIVE_ADDR:
+		cmd->response[0] = 0 << 16; /* mmc->rca */
+	case MMC_CMD_GO_IDLE_STATE:
+		break;
+	case SD_CMD_SEND_IF_COND:
+		cmd->response[0] = 0xaa;
+		break;
+	case MMC_CMD_SEND_STATUS:
+		cmd->response[0] = MMC_STATUS_RDY_FOR_DATA;
+		break;
+	case MMC_CMD_SELECT_CARD:
+		break;
+	case MMC_CMD_SEND_CSD:
+		cmd->response[0] = 0;
+		cmd->response[1] = 10 << 16;	/* 1 << block_len */
+		break;
+	case SD_CMD_SWITCH_FUNC: {
+		u32 *resp = (u32 *)data->dest;
+
+		resp[7] = cpu_to_be32(SD_HIGHSPEED_BUSY);
+		break;
+	}
+	case MMC_CMD_READ_SINGLE_BLOCK:
+		memset(data->dest, '\0', data->blocksize);
+		break;
+	case MMC_CMD_READ_MULTIPLE_BLOCK:
+		strcpy(data->dest, "this is a test");
+		break;
+	case MMC_CMD_STOP_TRANSMISSION:
+		break;
+	case SD_CMD_APP_SEND_OP_COND:
+		cmd->response[0] = OCR_BUSY | OCR_HCS;
+		cmd->response[1] = 0;
+		cmd->response[2] = 0;
+		break;
+	case MMC_CMD_APP_CMD:
+		break;
+	case MMC_CMD_SET_BLOCKLEN:
+		debug("block len %d\n", cmd->cmdarg);
+		break;
+	case SD_CMD_APP_SEND_SCR: {
+		u32 *scr = (u32 *)data->dest;
+
+		scr[0] = cpu_to_be32(2 << 24 | 1 << 15);  /* SD version 3 */
+		break;
+	}
+	default:
+		debug("%s: Unknown command %d\n", __func__, cmd->cmdidx);
+		break;
+	}
+
+	return 0;
+}
+
+static void sandbox_mmc_set_ios(struct mmc *mmc)
+{
+}
+
+static int sandbox_mmc_init(struct mmc *mmc)
+{
+	return 0;
+}
+
+static int sandbox_mmc_getcd(struct mmc *mmc)
+{
+	return 1;
+}
+
+static const struct mmc_ops sandbox_mmc_ops = {
+	.send_cmd = sandbox_mmc_send_cmd,
+	.set_ios = sandbox_mmc_set_ios,
+	.init = sandbox_mmc_init,
+	.getcd = sandbox_mmc_getcd,
+};
+
+int sandbox_mmc_probe(struct udevice *dev)
+{
+	struct sandbox_mmc_plat *plat = dev_get_platdata(dev);
+
+	return mmc_init(&plat->mmc);
+}
+
+int sandbox_mmc_bind(struct udevice *dev)
+{
+	struct sandbox_mmc_plat *plat = dev_get_platdata(dev);
+	struct mmc_config *cfg = &plat->cfg;
+	int ret;
+
+	cfg->name = dev->name;
+	cfg->ops = &sandbox_mmc_ops;
+	cfg->host_caps = MMC_MODE_HS_52MHz | MMC_MODE_HS | MMC_MODE_8BIT;
+	cfg->voltages = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34;
+	cfg->f_min = 1000000;
+	cfg->f_max = 52000000;
+	cfg->b_max = U32_MAX;
+
+	ret = mmc_bind(dev, &plat->mmc, cfg);
+	if (ret)
+		return ret;
+
+	return 0;
+}
+
+int sandbox_mmc_unbind(struct udevice *dev)
+{
+	mmc_unbind(dev);
+
+	return 0;
+}
+
 static const struct udevice_id sandbox_mmc_ids[] = {
 	{ .compatible = "sandbox,mmc" },
 	{ }
 };
 
-U_BOOT_DRIVER(warm_mmc_sandbox) = {
+U_BOOT_DRIVER(mmc_sandbox) = {
 	.name		= "mmc_sandbox",
 	.id		= UCLASS_MMC,
 	.of_match	= sandbox_mmc_ids,
+	.bind		= sandbox_mmc_bind,
+	.unbind		= sandbox_mmc_unbind,
+	.probe		= sandbox_mmc_probe,
+	.platdata_auto_alloc_size = sizeof(struct sandbox_mmc_plat),
 };
diff --git a/drivers/mmc/socfpga_dw_mmc.c b/drivers/mmc/socfpga_dw_mmc.c
index 097db81..6a0e971 100644
--- a/drivers/mmc/socfpga_dw_mmc.c
+++ b/drivers/mmc/socfpga_dw_mmc.c
@@ -108,6 +108,7 @@
 		return ret;
 
 	upriv->mmc = host->mmc;
+	host->mmc->dev = dev;
 
 	return 0;
 }
diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c
index 81a80cd..4978cca 100644
--- a/drivers/mmc/uniphier-sd.c
+++ b/drivers/mmc/uniphier-sd.c
@@ -725,6 +725,7 @@
 		return -EIO;
 
 	upriv->mmc = priv->mmc;
+	priv->mmc->dev = dev;
 
 	return 0;
 }
diff --git a/drivers/mmc/zynq_sdhci.c b/drivers/mmc/zynq_sdhci.c
index b59feca..d405929 100644
--- a/drivers/mmc/zynq_sdhci.c
+++ b/drivers/mmc/zynq_sdhci.c
@@ -35,6 +35,7 @@
 		  CONFIG_ZYNQ_SDHCI_MIN_FREQ);
 
 	upriv->mmc = host->mmc;
+	host->mmc->dev = dev;
 
 	return 0;
 }
diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
index c58841e..390e9e4 100644
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -28,6 +28,13 @@
 	  NOR flash to parallel flash interface. Please find details on the
 	  "Embedded Peripherals IP User Guide" of Altera.
 
+config FLASH_PIC32
+	bool "Microchip PIC32 Flash driver"
+	depends on MACH_PIC32 && MTD
+	help
+	  This enables access to Microchip PIC32 internal non-CFI flash
+	  chips through PIC32 Non-Volatile-Memory Controller.
+
 endmenu
 
 source "drivers/mtd/nand/Kconfig"
diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index 703700a..bd680a7 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -19,5 +19,6 @@
 obj-$(CONFIG_FTSMC020) += ftsmc020.o
 obj-$(CONFIG_FLASH_CFI_LEGACY) += jedec_flash.o
 obj-$(CONFIG_MW_EEPROM) += mw_eeprom.o
+obj-$(CONFIG_FLASH_PIC32) += pic32_flash.o
 obj-$(CONFIG_ST_SMI) += st_smi.o
 obj-$(CONFIG_STM32_FLASH) += stm32_flash.o
diff --git a/drivers/mtd/pic32_flash.c b/drivers/mtd/pic32_flash.c
new file mode 100644
index 0000000..9166fcd
--- /dev/null
+++ b/drivers/mtd/pic32_flash.c
@@ -0,0 +1,444 @@
+/*
+ * Copyright (C) 2015
+ * Cristian Birsan <cristian.birsan@microchip.com>
+ * Purna Chandra Mandal <purna.mandal@microchip.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <fdt_support.h>
+#include <flash.h>
+#include <mach/pic32.h>
+#include <wait_bit.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/* NVM Controller registers */
+struct pic32_reg_nvm {
+	struct pic32_reg_atomic ctrl;
+	struct pic32_reg_atomic key;
+	struct pic32_reg_atomic addr;
+	struct pic32_reg_atomic data;
+};
+
+/* NVM operations */
+#define NVMOP_NOP		0
+#define NVMOP_WORD_WRITE	1
+#define NVMOP_PAGE_ERASE	4
+
+/* NVM control bits */
+#define NVM_WR			BIT(15)
+#define NVM_WREN		BIT(14)
+#define NVM_WRERR		BIT(13)
+#define NVM_LVDERR		BIT(12)
+
+/* NVM programming unlock register */
+#define LOCK_KEY		0x0
+#define UNLOCK_KEY1		0xaa996655
+#define UNLOCK_KEY2		0x556699aa
+
+/*
+ * PIC32 flash banks consist of number of pages, each page
+ * into number of rows and rows into number of words.
+ * Here we will maintain page information instead of sector.
+ */
+flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS];
+static struct pic32_reg_nvm *nvm_regs_p;
+
+static inline void flash_initiate_operation(u32 nvmop)
+{
+	/* set operation */
+	writel(nvmop, &nvm_regs_p->ctrl.raw);
+
+	/* enable flash write */
+	writel(NVM_WREN, &nvm_regs_p->ctrl.set);
+
+	/* unlock sequence */
+	writel(LOCK_KEY, &nvm_regs_p->key.raw);
+	writel(UNLOCK_KEY1, &nvm_regs_p->key.raw);
+	writel(UNLOCK_KEY2, &nvm_regs_p->key.raw);
+
+	/* initiate operation */
+	writel(NVM_WR, &nvm_regs_p->ctrl.set);
+}
+
+static int flash_wait_till_busy(const char *func, ulong timeout)
+{
+	int ret = wait_for_bit(__func__, &nvm_regs_p->ctrl.raw,
+			       NVM_WR, false, timeout, false);
+
+	return ret ? ERR_TIMOUT : ERR_OK;
+}
+
+static inline int flash_complete_operation(void)
+{
+	u32 tmp;
+
+	tmp = readl(&nvm_regs_p->ctrl.raw);
+	if (tmp & NVM_WRERR) {
+		printf("Error in Block Erase - Lock Bit may be set!\n");
+		flash_initiate_operation(NVMOP_NOP);
+		return ERR_PROTECTED;
+	}
+
+	if (tmp & NVM_LVDERR) {
+		printf("Error in Block Erase - low-vol detected!\n");
+		flash_initiate_operation(NVMOP_NOP);
+		return ERR_NOT_ERASED;
+	}
+
+	/* disable flash write or erase operation */
+	writel(NVM_WREN, &nvm_regs_p->ctrl.clr);
+
+	return ERR_OK;
+}
+
+/*
+ * Erase flash sectors, returns:
+ * ERR_OK - OK
+ * ERR_INVAL - invalid sector arguments
+ * ERR_TIMOUT - write timeout
+ * ERR_NOT_ERASED - Flash not erased
+ * ERR_UNKNOWN_FLASH_VENDOR - incorrect flash
+ */
+int flash_erase(flash_info_t *info, int s_first, int s_last)
+{
+	ulong sect_start, sect_end, flags;
+	int prot, sect;
+	int rc;
+
+	if ((info->flash_id & FLASH_VENDMASK) != FLASH_MAN_MCHP) {
+		printf("Can't erase unknown flash type %08lx - aborted\n",
+		       info->flash_id);
+		return ERR_UNKNOWN_FLASH_VENDOR;
+	}
+
+	if ((s_first < 0) || (s_first > s_last)) {
+		printf("- no sectors to erase\n");
+		return ERR_INVAL;
+	}
+
+	prot = 0;
+	for (sect = s_first; sect <= s_last; ++sect) {
+		if (info->protect[sect])
+			prot++;
+	}
+
+	if (prot)
+		printf("- Warning: %d protected sectors will not be erased!\n",
+		       prot);
+	else
+		printf("\n");
+
+	/* erase on unprotected sectors */
+	for (sect = s_first; sect <= s_last; sect++) {
+		if (info->protect[sect])
+			continue;
+
+		/* disable interrupts */
+		flags = disable_interrupts();
+
+		/* write destination page address (physical) */
+		sect_start = CPHYSADDR(info->start[sect]);
+		writel(sect_start, &nvm_regs_p->addr.raw);
+
+		/* page erase */
+		flash_initiate_operation(NVMOP_PAGE_ERASE);
+
+		/* wait */
+		rc = flash_wait_till_busy(__func__,
+					  CONFIG_SYS_FLASH_ERASE_TOUT);
+
+		/* re-enable interrupts if necessary */
+		if (flags)
+			enable_interrupts();
+
+		if (rc != ERR_OK)
+			return rc;
+
+		rc = flash_complete_operation();
+		if (rc != ERR_OK)
+			return rc;
+
+		/*
+		 * flash content is updated but cache might contain stale
+		 * data, so invalidate dcache.
+		 */
+		sect_end = info->start[sect] + info->size / info->sector_count;
+		invalidate_dcache_range(info->start[sect], sect_end);
+	}
+
+	printf(" done\n");
+	return ERR_OK;
+}
+
+int page_erase(flash_info_t *info, int sect)
+{
+	return 0;
+}
+
+/* Write a word to flash */
+static int write_word(flash_info_t *info, ulong dest, ulong word)
+{
+	ulong flags;
+	int rc;
+
+	/* read flash to check if it is sufficiently erased */
+	if ((readl((void __iomem *)dest) & word) != word) {
+		printf("Error, Flash not erased!\n");
+		return ERR_NOT_ERASED;
+	}
+
+	/* disable interrupts */
+	flags = disable_interrupts();
+
+	/* update destination page address (physical) */
+	writel(CPHYSADDR(dest), &nvm_regs_p->addr.raw);
+	writel(word, &nvm_regs_p->data.raw);
+
+	/* word write */
+	flash_initiate_operation(NVMOP_WORD_WRITE);
+
+	/* wait for operation to complete */
+	rc = flash_wait_till_busy(__func__, CONFIG_SYS_FLASH_WRITE_TOUT);
+
+	/* re-enable interrupts if necessary */
+	if (flags)
+		enable_interrupts();
+
+	if (rc != ERR_OK)
+		return rc;
+
+	return flash_complete_operation();
+}
+
+/*
+ * Copy memory to flash, returns:
+ * ERR_OK - OK
+ * ERR_TIMOUT - write timeout
+ * ERR_NOT_ERASED - Flash not erased
+ */
+int write_buff(flash_info_t *info, uchar *src, ulong addr, ulong cnt)
+{
+	ulong dst, tmp_le, len = cnt;
+	int i, l, rc;
+	uchar *cp;
+
+	/* get lower word aligned address */
+	dst = (addr & ~3);
+
+	/* handle unaligned start bytes */
+	l = addr - dst;
+	if (l != 0) {
+		tmp_le = 0;
+		for (i = 0, cp = (uchar *)dst; i < l; ++i, ++cp)
+			tmp_le |= *cp << (i * 8);
+
+		for (; (i < 4) && (cnt > 0); ++i, ++src, --cnt, ++cp)
+			tmp_le |= *src << (i * 8);
+
+		for (; (cnt == 0) && (i < 4); ++i, ++cp)
+			tmp_le |= *cp << (i * 8);
+
+		rc = write_word(info, dst, tmp_le);
+		if (rc)
+			goto out;
+
+		dst += 4;
+	}
+
+	/* handle word aligned part */
+	while (cnt >= 4) {
+		tmp_le = src[0] | src[1] << 8 | src[2] << 16 | src[3] << 24;
+		rc = write_word(info, dst, tmp_le);
+		if (rc)
+			goto out;
+		src += 4;
+		dst += 4;
+		cnt -= 4;
+	}
+
+	if (cnt == 0) {
+		rc = ERR_OK;
+		goto out;
+	}
+
+	/* handle unaligned tail bytes */
+	tmp_le = 0;
+	for (i = 0, cp = (uchar *)dst; (i < 4) && (cnt > 0); ++i, ++cp) {
+		tmp_le |= *src++ << (i * 8);
+		--cnt;
+	}
+
+	for (; i < 4; ++i, ++cp)
+		tmp_le |= *cp << (i * 8);
+
+	rc = write_word(info, dst, tmp_le);
+out:
+	/*
+	 * flash content updated by nvm controller but CPU cache might
+	 * have stale data, so invalidate dcache.
+	 */
+	invalidate_dcache_range(addr, addr + len);
+
+	printf(" done\n");
+	return rc;
+}
+
+void flash_print_info(flash_info_t *info)
+{
+	int i;
+
+	if (info->flash_id == FLASH_UNKNOWN) {
+		printf("missing or unknown FLASH type\n");
+		return;
+	}
+
+	switch (info->flash_id & FLASH_VENDMASK) {
+	case FLASH_MAN_MCHP:
+		printf("Microchip Technology ");
+		break;
+	default:
+		printf("Unknown Vendor ");
+		break;
+	}
+
+	switch (info->flash_id & FLASH_TYPEMASK) {
+	case FLASH_MCHP100T:
+		printf("Internal (8 Mbit, 64 x 16k)\n");
+		break;
+	default:
+		printf("Unknown Chip Type\n");
+		break;
+	}
+
+	printf("  Size: %ld MB in %d Sectors\n",
+	       info->size >> 20, info->sector_count);
+
+	printf("  Sector Start Addresses:");
+	for (i = 0; i < info->sector_count; ++i) {
+		if ((i % 5) == 0)
+			printf("\n   ");
+
+		printf(" %08lX%s", info->start[i],
+		       info->protect[i] ? " (RO)" : "     ");
+	}
+	printf("\n");
+}
+
+unsigned long flash_init(void)
+{
+	unsigned long size = 0;
+	struct udevice *dev;
+	int bank;
+
+	/* probe every MTD device */
+	for (uclass_first_device(UCLASS_MTD, &dev); dev;
+	     uclass_next_device(&dev)) {
+		/* nop */
+	}
+
+	/* calc total flash size */
+	for (bank = 0; bank < CONFIG_SYS_MAX_FLASH_BANKS; ++bank)
+		size += flash_info[bank].size;
+
+	return size;
+}
+
+static void pic32_flash_bank_init(flash_info_t *info,
+				  ulong base, ulong size)
+{
+	ulong sect_size;
+	int sect;
+
+	/* device & manufacturer code */
+	info->flash_id = FLASH_MAN_MCHP | FLASH_MCHP100T;
+	info->sector_count = CONFIG_SYS_MAX_FLASH_SECT;
+	info->size = size;
+
+	/* update sector (i.e page) info */
+	sect_size = info->size / info->sector_count;
+	for (sect = 0; sect < info->sector_count; sect++) {
+		info->start[sect] = base;
+		/* protect each sector by default */
+		info->protect[sect] = 1;
+		base += sect_size;
+	}
+}
+
+static int pic32_flash_probe(struct udevice *dev)
+{
+	void *blob = (void *)gd->fdt_blob;
+	int node = dev->of_offset;
+	const char *list, *end;
+	const fdt32_t *cell;
+	unsigned long addr, size;
+	int parent, addrc, sizec;
+	flash_info_t *info;
+	int len, idx;
+
+	/*
+	 * decode regs. there are multiple reg tuples, and they need to
+	 * match with reg-names.
+	 */
+	parent = fdt_parent_offset(blob, node);
+	of_bus_default_count_cells(blob, parent, &addrc, &sizec);
+	list = fdt_getprop(blob, node, "reg-names", &len);
+	if (!list)
+		return -ENOENT;
+
+	end = list + len;
+	cell = fdt_getprop(blob, node, "reg", &len);
+	if (!cell)
+		return -ENOENT;
+
+	for (idx = 0, info = &flash_info[0]; list < end;) {
+		addr = fdt_translate_address((void *)blob, node, cell + idx);
+		size = fdt_addr_to_cpu(cell[idx + addrc]);
+		len = strlen(list);
+		if (!strncmp(list, "nvm", len)) {
+			/* NVM controller */
+			nvm_regs_p = ioremap(addr, size);
+		} else if (!strncmp(list, "bank", 4)) {
+			/* Flash bank: use kseg0 cached address */
+			pic32_flash_bank_init(info, CKSEG0ADDR(addr), size);
+			info++;
+		}
+		idx += addrc + sizec;
+		list += len + 1;
+	}
+
+	/* disable flash write/erase operations */
+	writel(NVM_WREN, &nvm_regs_p->ctrl.clr);
+
+#if (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE)
+	/* monitor protection ON by default */
+	flash_protect(FLAG_PROTECT_SET,
+		      CONFIG_SYS_MONITOR_BASE,
+		      CONFIG_SYS_MONITOR_BASE + monitor_flash_len - 1,
+		      &flash_info[0]);
+#endif
+
+#ifdef CONFIG_ENV_IS_IN_FLASH
+	/* ENV protection ON by default */
+	flash_protect(FLAG_PROTECT_SET,
+		      CONFIG_ENV_ADDR,
+		      CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE - 1,
+		      &flash_info[0]);
+#endif
+	return 0;
+}
+
+static const struct udevice_id pic32_flash_ids[] = {
+	{ .compatible = "microchip,pic32mzda-flash" },
+	{}
+};
+
+U_BOOT_DRIVER(pic32_flash) = {
+	.name	= "pic32_flash",
+	.id	= UCLASS_MTD,
+	.of_match = pic32_flash_ids,
+	.probe	= pic32_flash_probe,
+};
diff --git a/drivers/mtd/spi/spi_spl_load.c b/drivers/mtd/spi/spi_spl_load.c
index ca56fe9..46c98a9 100644
--- a/drivers/mtd/spi/spi_spl_load.c
+++ b/drivers/mtd/spi/spi_spl_load.c
@@ -23,6 +23,8 @@
 static int spi_load_image_os(struct spi_flash *flash,
 			     struct image_header *header)
 {
+	int err;
+
 	/* Read for a header, parse or error out. */
 	spi_flash_read(flash, CONFIG_SYS_SPI_KERNEL_OFFS, 0x40,
 		       (void *)header);
@@ -30,7 +32,9 @@
 	if (image_get_magic(header) != IH_MAGIC)
 		return -1;
 
-	spl_parse_image_header(header);
+	err = spl_parse_image_header(header);
+	if (err)
+		return err;
 
 	spi_flash_read(flash, CONFIG_SYS_SPI_KERNEL_OFFS,
 		       spl_image.size, (void *)spl_image.load_addr);
@@ -81,7 +85,9 @@
 		if (err)
 			return err;
 
-		spl_parse_image_header(header);
+		err = spl_parse_image_header(header);
+		if (err)
+			return err;
 		err = spi_flash_read(flash, CONFIG_SYS_SPI_U_BOOT_OFFS,
 			       spl_image.size, (void *)spl_image.load_addr);
 	}
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index fbedd04..d5e4a97 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -59,7 +59,7 @@
 obj-$(CONFIG_SMC911X) += smc911x.o
 obj-$(CONFIG_DRIVER_TI_EMAC) += davinci_emac.o
 obj-$(CONFIG_TSEC_ENET) += tsec.o fsl_mdio.o
-obj-$(CONFIG_DRIVER_TI_CPSW) += cpsw.o
+obj-$(CONFIG_DRIVER_TI_CPSW) += cpsw.o cpsw-common.o
 obj-$(CONFIG_FMAN_ENET) += fsl_mdio.o
 obj-$(CONFIG_TSI108_ETH) += tsi108_eth.o
 obj-$(CONFIG_ULI526X) += uli526x.o
diff --git a/drivers/net/cpsw-common.c b/drivers/net/cpsw-common.c
new file mode 100644
index 0000000..e828e85
--- /dev/null
+++ b/drivers/net/cpsw-common.c
@@ -0,0 +1,121 @@
+/*
+ * CPSW common - libs used across TI ethernet devices.
+ *
+ * Copyright (C) 2016, Texas Instruments, Incorporated
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <fdt_support.h>
+#include <asm/io.h>
+#include <cpsw.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#define CTRL_MAC_REG(offset, id) ((offset) + 0x8 * (id))
+
+static int davinci_emac_3517_get_macid(struct udevice *dev, u16 offset,
+				       int slave, u8 *mac_addr)
+{
+	void *fdt = (void *)gd->fdt_blob;
+	int node = dev->of_offset;
+	u32 macid_lsb;
+	u32 macid_msb;
+	fdt32_t gmii = 0;
+	int syscon;
+	u32 addr;
+
+	syscon = fdtdec_lookup_phandle(fdt, node, "syscon");
+	if (syscon < 0) {
+		error("Syscon offset not found\n");
+		return -ENOENT;
+	}
+
+	addr = (u32)map_physmem(fdt_translate_address(fdt, syscon, &gmii),
+				sizeof(u32), MAP_NOCACHE);
+	if (addr == FDT_ADDR_T_NONE) {
+		error("Not able to get syscon address to get mac efuse address\n");
+		return -ENOENT;
+	}
+
+	addr += CTRL_MAC_REG(offset, slave);
+
+	/* try reading mac address from efuse */
+	macid_lsb = readl(addr);
+	macid_msb = readl(addr + 4);
+
+	mac_addr[0] = (macid_msb >> 16) & 0xff;
+	mac_addr[1] = (macid_msb >> 8)  & 0xff;
+	mac_addr[2] = macid_msb & 0xff;
+	mac_addr[3] = (macid_lsb >> 16) & 0xff;
+	mac_addr[4] = (macid_lsb >> 8)  & 0xff;
+	mac_addr[5] = macid_lsb & 0xff;
+
+	return 0;
+}
+
+static int cpsw_am33xx_cm_get_macid(struct udevice *dev, u16 offset, int slave,
+				    u8 *mac_addr)
+{
+	void *fdt = (void *)gd->fdt_blob;
+	int node = dev->of_offset;
+	u32 macid_lo;
+	u32 macid_hi;
+	fdt32_t gmii = 0;
+	int syscon;
+	u32 addr;
+
+	syscon = fdtdec_lookup_phandle(fdt, node, "syscon");
+	if (syscon < 0) {
+		error("Syscon offset not found\n");
+		return -ENOENT;
+	}
+
+	addr = (u32)map_physmem(fdt_translate_address(fdt, syscon, &gmii),
+				sizeof(u32), MAP_NOCACHE);
+	if (addr == FDT_ADDR_T_NONE) {
+		error("Not able to get syscon address to get mac efuse address\n");
+		return -ENOENT;
+	}
+
+	addr += CTRL_MAC_REG(offset, slave);
+
+	/* try reading mac address from efuse */
+	macid_lo = readl(addr);
+	macid_hi = readl(addr + 4);
+
+	mac_addr[5] = (macid_lo >> 8) & 0xff;
+	mac_addr[4] = macid_lo & 0xff;
+	mac_addr[3] = (macid_hi >> 24) & 0xff;
+	mac_addr[2] = (macid_hi >> 16) & 0xff;
+	mac_addr[1] = (macid_hi >> 8) & 0xff;
+	mac_addr[0] = macid_hi & 0xff;
+
+	return 0;
+}
+
+int ti_cm_get_macid(struct udevice *dev, int slave, u8 *mac_addr)
+{
+	if (of_machine_is_compatible("ti,dm8148"))
+		return cpsw_am33xx_cm_get_macid(dev, 0x630, slave, mac_addr);
+
+	if (of_machine_is_compatible("ti,am33xx"))
+		return cpsw_am33xx_cm_get_macid(dev, 0x630, slave, mac_addr);
+
+	if (of_device_is_compatible(dev, "ti,am3517-emac"))
+		return davinci_emac_3517_get_macid(dev, 0x110, slave, mac_addr);
+
+	if (of_device_is_compatible(dev, "ti,dm816-emac"))
+		return cpsw_am33xx_cm_get_macid(dev, 0x30, slave, mac_addr);
+
+	if (of_machine_is_compatible("ti,am4372"))
+		return cpsw_am33xx_cm_get_macid(dev, 0x630, slave, mac_addr);
+
+	if (of_machine_is_compatible("ti,dra7"))
+		return davinci_emac_3517_get_macid(dev, 0x514, slave, mac_addr);
+
+	dev_err(dev, "incompatible machine/device type for reading mac address\n");
+	return -ENOENT;
+}
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c
index 7104754..2ce4ec6 100644
--- a/drivers/net/cpsw.c
+++ b/drivers/net/cpsw.c
@@ -26,6 +26,7 @@
 #include <phy.h>
 #include <asm/arch/cpu.h>
 #include <dm.h>
+#include <fdt_support.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -965,6 +966,11 @@
 	phydev->supported &= supported;
 	phydev->advertising = phydev->supported;
 
+#ifdef CONFIG_DM_ETH
+	if (slave->data->phy_of_handle)
+		phydev->dev->of_offset = slave->data->phy_of_handle;
+#endif
+
 	priv->phydev = phydev;
 	phy_config(phydev);
 
@@ -1137,6 +1143,11 @@
 	.stop		= cpsw_eth_stop,
 };
 
+static inline fdt_addr_t cpsw_get_addr_by_node(const void *fdt, int node)
+{
+	return fdtdec_get_addr_size_auto_noparent(fdt, node, "reg", 0, NULL);
+}
+
 static int cpsw_eth_ofdata_to_platdata(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_platdata(dev);
@@ -1146,9 +1157,8 @@
 	int node = dev->of_offset;
 	int subnode;
 	int slave_index = 0;
-	uint32_t mac_hi, mac_lo;
-	fdt32_t gmii = 0;
 	int active_slave;
+	int ret;
 
 	pdata->iobase = dev_get_addr(dev);
 	priv->data.version = CPSW_CTRL_VERSION_2;
@@ -1202,29 +1212,52 @@
 
 		name = fdt_get_name(fdt, subnode, &len);
 		if (!strncmp(name, "mdio", 4)) {
-			priv->data.mdio_base = fdtdec_get_addr(fdt, subnode,
-							       "reg");
+			u32 mdio_base;
+
+			mdio_base = cpsw_get_addr_by_node(fdt, subnode);
+			if (mdio_base == FDT_ADDR_T_NONE) {
+				error("Not able to get MDIO address space\n");
+				return -ENOENT;
+			}
+			priv->data.mdio_base = mdio_base;
 		}
 
 		if (!strncmp(name, "slave", 5)) {
 			u32 phy_id[2];
 
-			if (slave_index >= priv->data.slaves) {
-				printf("error: num slaves and slave nodes did not match\n");
-				return -EINVAL;
-			}
+			if (slave_index >= priv->data.slaves)
+				continue;
 			phy_mode = fdt_getprop(fdt, subnode, "phy-mode", NULL);
 			if (phy_mode)
 				priv->data.slave_data[slave_index].phy_if =
 					phy_get_interface_by_name(phy_mode);
-			fdtdec_get_int_array(fdt, subnode, "phy_id", phy_id, 2);
-			priv->data.slave_data[slave_index].phy_addr = phy_id[1];
+
+			priv->data.slave_data[slave_index].phy_of_handle =
+				fdtdec_lookup_phandle(fdt, subnode,
+						      "phy-handle");
+
+			if (priv->data.slave_data[slave_index].phy_of_handle >= 0) {
+				priv->data.slave_data[slave_index].phy_addr =
+						fdtdec_get_int(gd->fdt_blob,
+							       priv->data.slave_data[slave_index].phy_of_handle,
+							       "reg", -1);
+			} else {
+				fdtdec_get_int_array(fdt, subnode, "phy_id",
+						     phy_id, 2);
+				priv->data.slave_data[slave_index].phy_addr =
+						phy_id[1];
+			}
 			slave_index++;
 		}
 
 		if (!strncmp(name, "cpsw-phy-sel", 12)) {
-			priv->data.gmii_sel = fdtdec_get_addr(fdt, subnode,
-							      "reg");
+			priv->data.gmii_sel = cpsw_get_addr_by_node(fdt,
+								    subnode);
+
+			if (priv->data.gmii_sel == FDT_ADDR_T_NONE) {
+				error("Not able to get gmii_sel reg address\n");
+				return -ENOENT;
+			}
 		}
 	}
 
@@ -1236,20 +1269,11 @@
 		priv->data.slave_data[1].sliver_reg_ofs = CPSW_SLIVER1_OFFSET;
 	}
 
-	subnode = fdtdec_lookup_phandle(fdt, node, "syscon");
-	priv->data.mac_id = fdt_translate_address((void *)fdt, subnode, &gmii);
-	priv->data.mac_id += AM335X_GMII_SEL_OFFSET;
-	priv->data.mac_id += active_slave * 8;
-
-	/* try reading mac address from efuse */
-	mac_lo = readl(priv->data.mac_id);
-	mac_hi = readl(priv->data.mac_id + 4);
-	pdata->enetaddr[0] = mac_hi & 0xFF;
-	pdata->enetaddr[1] = (mac_hi & 0xFF00) >> 8;
-	pdata->enetaddr[2] = (mac_hi & 0xFF0000) >> 16;
-	pdata->enetaddr[3] = (mac_hi & 0xFF000000) >> 24;
-	pdata->enetaddr[4] = mac_lo & 0xFF;
-	pdata->enetaddr[5] = (mac_lo & 0xFF00) >> 8;
+	ret = ti_cm_get_macid(dev, active_slave, pdata->enetaddr);
+	if (ret < 0) {
+		error("cpsw read efuse mac failed\n");
+		return ret;
+	}
 
 	pdata->phy_interface = priv->data.slave_data[active_slave].phy_if;
 	if (pdata->phy_interface == -1) {
@@ -1270,6 +1294,7 @@
 		writel(RGMII_MODE_ENABLE, priv->data.gmii_sel);
 		break;
 	}
+
 	return 0;
 }
 
diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
index 4b2808e..9871cc3 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -84,11 +84,14 @@
 
 static int bcm54xx_startup(struct phy_device *phydev)
 {
-	/* Read the Status (2x to make sure link is right) */
-	genphy_update_link(phydev);
-	bcm54xx_parse_status(phydev);
+	int ret;
 
-	return 0;
+	/* Read the Status (2x to make sure link is right) */
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return bcm54xx_parse_status(phydev);
 }
 
 /* Broadcom BCM5482S */
@@ -139,11 +142,14 @@
 
 static int bcm_cygnus_startup(struct phy_device *phydev)
 {
-	/* Read the Status (2x to make sure link is right) */
-	genphy_update_link(phydev);
-	genphy_parse_link(phydev);
+	int ret;
 
-	return 0;
+	/* Read the Status (2x to make sure link is right) */
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return genphy_parse_link(phydev);
 }
 
 static int bcm_cygnus_config(struct phy_device *phydev)
@@ -239,17 +245,21 @@
  */
 static int bcm5482_startup(struct phy_device *phydev)
 {
+	int ret;
+
 	if (bcm5482_is_serdes(phydev)) {
 		bcm5482_parse_serdes_sr(phydev);
 		phydev->port = PORT_FIBRE;
-	} else {
-		/* Wait for auto-negotiation to complete or fail */
-		genphy_update_link(phydev);
-		/* Parse BCM54xx copper aux status register */
-		bcm54xx_parse_status(phydev);
+		return 0;
 	}
 
-	return 0;
+	/* Wait for auto-negotiation to complete or fail */
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	/* Parse BCM54xx copper aux status register */
+	return bcm54xx_parse_status(phydev);
 }
 
 static struct phy_driver BCM5461S_driver = {
diff --git a/drivers/net/phy/davicom.c b/drivers/net/phy/davicom.c
index 0c039fe..0a6e410 100644
--- a/drivers/net/phy/davicom.c
+++ b/drivers/net/phy/davicom.c
@@ -60,10 +60,13 @@
 
 static int dm9161_startup(struct phy_device *phydev)
 {
-	genphy_update_link(phydev);
-	dm9161_parse_status(phydev);
+	int ret;
 
-	return 0;
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return dm9161_parse_status(phydev);
 }
 
 static struct phy_driver DM9161_driver = {
diff --git a/drivers/net/phy/et1011c.c b/drivers/net/phy/et1011c.c
index 70c15e2..2fe0132 100644
--- a/drivers/net/phy/et1011c.c
+++ b/drivers/net/phy/et1011c.c
@@ -79,9 +79,13 @@
 
 static int et1011c_startup(struct phy_device *phydev)
 {
-	genphy_update_link(phydev);
-	et1011c_parse_status(phydev);
-	return 0;
+	int ret;
+
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return et1011c_parse_status(phydev);
 }
 
 static struct phy_driver et1011c_driver = {
diff --git a/drivers/net/phy/lxt.c b/drivers/net/phy/lxt.c
index 91838ce..9abc2a8 100644
--- a/drivers/net/phy/lxt.c
+++ b/drivers/net/phy/lxt.c
@@ -49,10 +49,13 @@
 
 static int lxt971_startup(struct phy_device *phydev)
 {
-	genphy_update_link(phydev);
-	lxt971_parse_status(phydev);
+	int ret;
 
-	return 0;
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return lxt971_parse_status(phydev);
 }
 
 static struct phy_driver LXT971_driver = {
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index b8b1157..d2e68d4 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -103,7 +103,7 @@
 /* Parse the 88E1011's status register for speed and duplex
  * information
  */
-static uint m88e1xxx_parse_status(struct phy_device *phydev)
+static int m88e1xxx_parse_status(struct phy_device *phydev)
 {
 	unsigned int speed;
 	unsigned int mii_reg;
@@ -120,7 +120,7 @@
 			if (i > PHY_AUTONEGOTIATE_TIMEOUT) {
 				puts(" TIMEOUT !\n");
 				phydev->link = 0;
-				break;
+				return -ETIMEDOUT;
 			}
 
 			if ((i++ % 1000) == 0)
@@ -162,10 +162,13 @@
 
 static int m88e1011s_startup(struct phy_device *phydev)
 {
-	genphy_update_link(phydev);
-	m88e1xxx_parse_status(phydev);
+	int ret;
 
-	return 0;
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return m88e1xxx_parse_status(phydev);
 }
 
 /* Marvell 88E1111S */
@@ -349,22 +352,21 @@
 	/* Change Page Number */
 	phy_write(phydev, MDIO_DEVAD_NONE, MIIM_88E1118_PHY_PAGE, 0x0000);
 
-	genphy_config_aneg(phydev);
-
-	phy_reset(phydev);
-
-	return 0;
+	return genphy_config_aneg(phydev);
 }
 
 static int m88e1118_startup(struct phy_device *phydev)
 {
+	int ret;
+
 	/* Change Page Number */
 	phy_write(phydev, MDIO_DEVAD_NONE, MIIM_88E1118_PHY_PAGE, 0x0000);
 
-	genphy_update_link(phydev);
-	m88e1xxx_parse_status(phydev);
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
 
-	return 0;
+	return m88e1xxx_parse_status(phydev);
 }
 
 /* Marvell 88E1121R */
@@ -421,12 +423,15 @@
 
 static int m88e1145_startup(struct phy_device *phydev)
 {
-	genphy_update_link(phydev);
+	int ret;
+
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
 	phy_write(phydev, MDIO_DEVAD_NONE, MIIM_88E1145_PHY_LED_CONTROL,
 			MIIM_88E1145_PHY_LED_DIRECT);
-	m88e1xxx_parse_status(phydev);
-
-	return 0;
+	return m88e1xxx_parse_status(phydev);
 }
 
 /* Marvell 88E1149S */
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index 8fcf737..b08788a 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -181,7 +181,12 @@
 static int ksz90xx_startup(struct phy_device *phydev)
 {
 	unsigned phy_ctl;
-	genphy_update_link(phydev);
+	int ret;
+
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
 	phy_ctl = phy_read(phydev, MDIO_DEVAD_NONE, MII_KSZ90xx_PHY_CTL);
 
 	if (phy_ctl & MIIM_KSZ90xx_PHYCTL_DUPLEX)
diff --git a/drivers/net/phy/mv88e61xx.c b/drivers/net/phy/mv88e61xx.c
index 302abe8..74d5609 100644
--- a/drivers/net/phy/mv88e61xx.c
+++ b/drivers/net/phy/mv88e61xx.c
@@ -1,4 +1,9 @@
 /*
+ * (C) Copyright 2015
+ * Elecsys Corporation <www.elecsyscorp.com>
+ * Kevin Smith <kevin.smith@elecsyscorp.com>
+ *
+ * Original driver:
  * (C) Copyright 2009
  * Marvell Semiconductor <www.marvell.com>
  * Prafulla Wadaskar <prafulla@marvell.com>
@@ -6,532 +11,1007 @@
  * SPDX-License-Identifier:	GPL-2.0+
  */
 
+/*
+ * PHY driver for mv88e61xx ethernet switches.
+ *
+ * This driver configures the mv88e61xx for basic use as a PHY.  The switch
+ * supports a VLAN configuration that determines how traffic will be routed
+ * between the ports.  This driver uses a simple configuration that routes
+ * traffic from each PHY port only to the CPU port, and from the CPU port to
+ * any PHY port.
+ *
+ * The configuration determines which PHY ports to activate using the
+ * CONFIG_MV88E61XX_PHY_PORTS bitmask.  Setting bit 0 will activate port 0, bit
+ * 1 activates port 1, etc.  Do not set the bit for the port the CPU is
+ * connected to unless it is connected over a PHY interface (not MII).
+ *
+ * This driver was written for and tested on the mv88e6176 with an SGMII
+ * connection.  Other configurations should be supported, but some additions or
+ * changes may be required.
+ */
+
 #include <common.h>
+
+#include <bitfield.h>
+#include <errno.h>
+#include <malloc.h>
+#include <miiphy.h>
 #include <netdev.h>
-#include "mv88e61xx.h"
+
+#define PHY_AUTONEGOTIATE_TIMEOUT	5000
+
+#define PORT_COUNT			7
+#define PORT_MASK			((1 << PORT_COUNT) - 1)
+
+/* Device addresses */
+#define DEVADDR_PHY(p)			(p)
+#define DEVADDR_PORT(p)			(0x10 + (p))
+#define DEVADDR_SERDES			0x0F
+#define DEVADDR_GLOBAL_1		0x1B
+#define DEVADDR_GLOBAL_2		0x1C
+
+/* SMI indirection registers for multichip addressing mode */
+#define SMI_CMD_REG			0x00
+#define SMI_DATA_REG			0x01
+
+/* Global registers */
+#define GLOBAL1_STATUS			0x00
+#define GLOBAL1_CTRL			0x04
+#define GLOBAL1_MON_CTRL		0x1A
+
+/* Global 2 registers */
+#define GLOBAL2_REG_PHY_CMD		0x18
+#define GLOBAL2_REG_PHY_DATA		0x19
+
+/* Port registers */
+#define PORT_REG_STATUS			0x00
+#define PORT_REG_PHYS_CTRL		0x01
+#define PORT_REG_SWITCH_ID		0x03
+#define PORT_REG_CTRL			0x04
+#define PORT_REG_VLAN_MAP		0x06
+#define PORT_REG_VLAN_ID		0x07
+
+/* Phy registers */
+#define PHY_REG_CTRL1			0x10
+#define PHY_REG_STATUS1			0x11
+#define PHY_REG_PAGE			0x16
+
+/* Serdes registers */
+#define SERDES_REG_CTRL_1		0x10
+
+/* Phy page numbers */
+#define PHY_PAGE_COPPER			0
+#define PHY_PAGE_SERDES			1
+
+/* Register fields */
+#define GLOBAL1_CTRL_SWRESET		BIT(15)
+
+#define GLOBAL1_MON_CTRL_CPUDEST_SHIFT	4
+#define GLOBAL1_MON_CTRL_CPUDEST_WIDTH	4
+
+#define PORT_REG_STATUS_LINK		BIT(11)
+#define PORT_REG_STATUS_DUPLEX		BIT(10)
+
+#define PORT_REG_STATUS_SPEED_SHIFT	8
+#define PORT_REG_STATUS_SPEED_WIDTH	2
+#define PORT_REG_STATUS_SPEED_10	0
+#define PORT_REG_STATUS_SPEED_100	1
+#define PORT_REG_STATUS_SPEED_1000	2
+
+#define PORT_REG_STATUS_CMODE_MASK		0xF
+#define PORT_REG_STATUS_CMODE_100BASE_X		0x8
+#define PORT_REG_STATUS_CMODE_1000BASE_X	0x9
+#define PORT_REG_STATUS_CMODE_SGMII		0xa
+
+#define PORT_REG_PHYS_CTRL_LINK_VALUE	BIT(5)
+#define PORT_REG_PHYS_CTRL_LINK_FORCE	BIT(4)
+
+#define PORT_REG_CTRL_PSTATE_SHIFT	0
+#define PORT_REG_CTRL_PSTATE_WIDTH	2
+
+#define PORT_REG_VLAN_ID_DEF_VID_SHIFT	0
+#define PORT_REG_VLAN_ID_DEF_VID_WIDTH	12
+
+#define PORT_REG_VLAN_MAP_TABLE_SHIFT	0
+#define PORT_REG_VLAN_MAP_TABLE_WIDTH	11
+
+#define SERDES_REG_CTRL_1_FORCE_LINK	BIT(10)
+
+#define PHY_REG_CTRL1_ENERGY_DET_SHIFT	8
+#define PHY_REG_CTRL1_ENERGY_DET_WIDTH	2
+
+/* Field values */
+#define PORT_REG_CTRL_PSTATE_DISABLED	0
+#define PORT_REG_CTRL_PSTATE_FORWARD	3
+
+#define PHY_REG_CTRL1_ENERGY_DET_OFF	0
+#define PHY_REG_CTRL1_ENERGY_DET_SENSE_ONLY	2
+#define PHY_REG_CTRL1_ENERGY_DET_SENSE_XMIT	3
+
+/* PHY Status Register */
+#define PHY_REG_STATUS1_SPEED		0xc000
+#define PHY_REG_STATUS1_GBIT		0x8000
+#define PHY_REG_STATUS1_100		0x4000
+#define PHY_REG_STATUS1_DUPLEX		0x2000
+#define PHY_REG_STATUS1_SPDDONE		0x0800
+#define PHY_REG_STATUS1_LINK		0x0400
+#define PHY_REG_STATUS1_ENERGY		0x0010
 
 /*
- * Uncomment either of the following line for local debug control;
- * otherwise global debug control will apply.
+ * Macros for building commands for indirect addressing modes.  These are valid
+ * for both the indirect multichip addressing mode and the PHY indirection
+ * required for the writes to any PHY register.
  */
+#define SMI_BUSY			BIT(15)
+#define SMI_CMD_CLAUSE_22		BIT(12)
+#define SMI_CMD_CLAUSE_22_OP_READ	(2 << 10)
+#define SMI_CMD_CLAUSE_22_OP_WRITE	(1 << 10)
 
-/* #undef DEBUG */
-/* #define DEBUG */
+#define SMI_CMD_READ			(SMI_BUSY | SMI_CMD_CLAUSE_22 | \
+					 SMI_CMD_CLAUSE_22_OP_READ)
+#define SMI_CMD_WRITE			(SMI_BUSY | SMI_CMD_CLAUSE_22 | \
+					 SMI_CMD_CLAUSE_22_OP_WRITE)
 
-#ifdef CONFIG_MV88E61XX_MULTICHIP_ADRMODE
-/* Chip Address mode
- * The Switch support two modes of operation
- * 1. single chip mode and
- * 2. Multi-chip mode
- * Refer section 9.2 &9.3 in chip datasheet-02 for more details
- *
- * By default single chip mode is configured
- * multichip mode operation can be configured in board header
- */
-static int mv88e61xx_busychk_multic(char *name, u32 devaddr)
-{
-	u16 reg = 0;
-	u32 timeout = MV88E61XX_PHY_TIMEOUT;
+#define SMI_CMD_ADDR_SHIFT		5
+#define SMI_CMD_ADDR_WIDTH		5
+#define SMI_CMD_REG_SHIFT		0
+#define SMI_CMD_REG_WIDTH		5
 
-	/* Poll till SMIBusy bit is clear */
-	do {
-		miiphy_read(name, devaddr, 0x0, &reg);
-		if (timeout-- == 0) {
-			printf("SMI busy timeout\n");
-			return -1;
-		}
-	} while (reg & (1 << 15));
-	return 0;
-}
-
-static void mv88e61xx_switch_write(char *name, u32 phy_adr,
-	u32 reg_ofs, u16 data)
-{
-	u16 mii_dev_addr;
-
-	/* command to read PHY dev address */
-	if (miiphy_read(name, 0xEE, 0xEE, &mii_dev_addr)) {
-		printf("Error..could not read PHY dev address\n");
-		return;
-	}
-	mv88e61xx_busychk_multic(name, mii_dev_addr);
-	/* Write data to Switch indirect data register */
-	miiphy_write(name, mii_dev_addr, 0x1, data);
-	/* Write command to Switch indirect command register (write) */
-	miiphy_write(name, mii_dev_addr, 0x0,
-		     reg_ofs | (phy_adr << 5) | (1 << 10) | (1 << 12) | (1 <<
-									 15));
-}
-
-static void mv88e61xx_switch_read(char *name, u32 phy_adr,
-	u32 reg_ofs, u16 *data)
-{
-	u16 mii_dev_addr;
-
-	/* command to read PHY dev address */
-	if (miiphy_read(name, 0xEE, 0xEE, &mii_dev_addr)) {
-		printf("Error..could not read PHY dev address\n");
-		return;
-	}
-	mv88e61xx_busychk_multic(name, mii_dev_addr);
-	/* Write command to Switch indirect command register (read) */
-	miiphy_write(name, mii_dev_addr, 0x0,
-		     reg_ofs | (phy_adr << 5) | (1 << 11) | (1 << 12) | (1 <<
-									 15));
-	mv88e61xx_busychk_multic(name, mii_dev_addr);
-	/* Read data from Switch indirect data register */
-	miiphy_read(name, mii_dev_addr, 0x1, data);
-}
-#endif /* CONFIG_MV88E61XX_MULTICHIP_ADRMODE */
-
-/*
- * Convenience macros for switch device/port reads/writes
- * These macros output valid 'mv88e61xx' U_BOOT_CMDs
- */
-
-#ifndef DEBUG
-#define WR_SWITCH_REG wr_switch_reg
-#define RD_SWITCH_REG rd_switch_reg
-#define WR_SWITCH_PORT_REG(n, p, r, d) \
-	WR_SWITCH_REG(n, (MV88E61XX_PRT_OFST+p), r, d)
-#define RD_SWITCH_PORT_REG(n, p, r, d) \
-	RD_SWITCH_REG(n, (MV88E61XX_PRT_OFST+p), r, d)
-#else
-static void WR_SWITCH_REG(char *name, u32 dev_adr, u32 reg_ofs, u16 data)
-{
-	printf("mv88e61xx %s dev %02x reg %02x write %04x\n",
-		name, dev_adr, reg_ofs, data);
-	wr_switch_reg(name, dev_adr, reg_ofs, data);
-}
-static void RD_SWITCH_REG(char *name, u32 dev_adr, u32 reg_ofs, u16 *data)
-{
-	rd_switch_reg(name, dev_adr, reg_ofs, data);
-	printf("mv88e61xx %s dev %02x reg %02x read %04x\n",
-		name, dev_adr, reg_ofs, *data);
-}
-static void WR_SWITCH_PORT_REG(char *name, u32 prt_adr, u32 reg_ofs,
-	u16 data)
-{
-	printf("mv88e61xx %s port %02x reg %02x write %04x\n",
-		name, prt_adr, reg_ofs, data);
-	wr_switch_reg(name, (MV88E61XX_PRT_OFST+prt_adr), reg_ofs, data);
-}
-static void RD_SWITCH_PORT_REG(char *name, u32 prt_adr, u32 reg_ofs,
-	u16 *data)
-{
-	rd_switch_reg(name, (MV88E61XX_PRT_OFST+prt_adr), reg_ofs, data);
-	printf("mv88e61xx %s port %02x reg %02x read %04x\n",
-		name, prt_adr, reg_ofs, *data);
-}
+/* Check for required macros */
+#ifndef CONFIG_MV88E61XX_PHY_PORTS
+#error Define CONFIG_MV88E61XX_PHY_PORTS to indicate which physical ports \
+	to activate
+#endif
+#ifndef CONFIG_MV88E61XX_CPU_PORT
+#error Define CONFIG_MV88E61XX_CPU_PORT to the port the CPU is attached to
 #endif
 
-/*
- * Local functions to read/write registers on the switch PHYs.
- * NOTE! This goes through switch, not direct miiphy, writes and reads!
- */
+/* ID register values for different switch models */
+#define PORT_SWITCH_ID_6172		0x1720
+#define PORT_SWITCH_ID_6176		0x1760
+#define PORT_SWITCH_ID_6240		0x2400
+#define PORT_SWITCH_ID_6352		0x3520
 
-/*
- * Make sure SMIBusy bit cleared before another
- * SMI operation can take place
- */
-static int mv88e61xx_busychk(char *name)
+struct mv88e61xx_phy_priv {
+	struct mii_dev *mdio_bus;
+	int smi_addr;
+	int id;
+};
+
+static inline int smi_cmd(int cmd, int addr, int reg)
 {
-	u16 reg = 0;
-	u32 timeout = MV88E61XX_PHY_TIMEOUT;
+	cmd = bitfield_replace(cmd, SMI_CMD_ADDR_SHIFT, SMI_CMD_ADDR_WIDTH,
+			       addr);
+	cmd = bitfield_replace(cmd, SMI_CMD_REG_SHIFT, SMI_CMD_REG_WIDTH, reg);
+	return cmd;
+}
+
+static inline int smi_cmd_read(int addr, int reg)
+{
+	return smi_cmd(SMI_CMD_READ, addr, reg);
+}
+
+static inline int smi_cmd_write(int addr, int reg)
+{
+	return smi_cmd(SMI_CMD_WRITE, addr, reg);
+}
+
+__weak int mv88e61xx_hw_reset(struct phy_device *phydev)
+{
+	return 0;
+}
+
+/* Wait for the current SMI indirect command to complete */
+static int mv88e61xx_smi_wait(struct mii_dev *bus, int smi_addr)
+{
+	int val;
+	u32 timeout = 100;
+
 	do {
-		rd_switch_reg(name, MV88E61XX_GLB2REG_DEVADR,
-		       MV88E61XX_PHY_CMD, &reg);
-		if (timeout-- == 0) {
-			printf("SMI busy timeout\n");
-			return -1;
-		}
-	} while (reg & 1 << 15);	/* busy mask */
-	return 0;
-}
+		val = bus->read(bus, smi_addr, MDIO_DEVAD_NONE, SMI_CMD_REG);
+		if (val >= 0 && (val & SMI_BUSY) == 0)
+			return 0;
 
-static inline int mv88e61xx_switch_miiphy_write(char *name, u32 phy,
-	u32 reg, u16 data)
-{
-	/* write switch data reg then cmd reg then check completion */
-	wr_switch_reg(name, MV88E61XX_GLB2REG_DEVADR, MV88E61XX_PHY_DATA,
-		data);
-	wr_switch_reg(name, MV88E61XX_GLB2REG_DEVADR, MV88E61XX_PHY_CMD,
-		(MV88E61XX_PHY_WRITE_CMD | (phy << 5)  | reg));
-	return mv88e61xx_busychk(name);
-}
+		mdelay(1);
+	} while (--timeout);
 
-static inline int mv88e61xx_switch_miiphy_read(char *name, u32 phy,
-	u32 reg, u16 *data)
-{
-	/* write switch cmd reg, check for completion */
-	wr_switch_reg(name, MV88E61XX_GLB2REG_DEVADR, MV88E61XX_PHY_CMD,
-		(MV88E61XX_PHY_READ_CMD | (phy << 5)  | reg));
-	if (mv88e61xx_busychk(name))
-		return -1;
-	/* read switch data reg and return success */
-	rd_switch_reg(name, MV88E61XX_GLB2REG_DEVADR, MV88E61XX_PHY_DATA, data);
-	return 0;
+	puts("SMI busy timeout\n");
+	return -ETIMEDOUT;
 }
 
 /*
- * Convenience macros for switch PHY reads/writes
- */
-
-#ifndef DEBUG
-#define WR_SWITCH_PHY_REG mv88e61xx_switch_miiphy_write
-#define RD_SWITCH_PHY_REG mv88e61xx_switch_miiphy_read
-#else
-static inline int WR_SWITCH_PHY_REG(char *name, u32 phy_adr,
-	u32 reg_ofs, u16 data)
-{
-	int r = mv88e61xx_switch_miiphy_write(name, phy_adr, reg_ofs, data);
-	if (r)
-		printf("** ERROR writing mv88e61xx %s phy %02x reg %02x\n",
-			name, phy_adr, reg_ofs);
-	else
-		printf("mv88e61xx %s phy %02x reg %02x write %04x\n",
-			name, phy_adr, reg_ofs, data);
-	return r;
-}
-static inline int RD_SWITCH_PHY_REG(char *name, u32 phy_adr,
-	u32 reg_ofs, u16 *data)
-{
-	int r = mv88e61xx_switch_miiphy_read(name, phy_adr, reg_ofs, data);
-	if (r)
-		printf("** ERROR reading mv88e61xx %s phy %02x reg %02x\n",
-			name, phy_adr, reg_ofs);
-	else
-		printf("mv88e61xx %s phy %02x reg %02x read %04x\n",
-			name, phy_adr, reg_ofs, *data);
-	return r;
-}
-#endif
-
-static void mv88e61xx_port_vlan_config(struct mv88e61xx_config *swconfig)
-{
-	u32 prt;
-	u16 reg;
-	char *name = swconfig->name;
-	u32 port_mask = swconfig->ports_enabled;
-
-	/* apply internal vlan config */
-	for (prt = 0; prt < MV88E61XX_MAX_PORTS_NUM; prt++) {
-		/* only for enabled ports */
-		if ((1 << prt) & port_mask) {
-			/* take vlan map from swconfig */
-			u8 vlanmap = swconfig->vlancfg[prt];
-			/* remove disabled ports from vlan map */
-			vlanmap &= swconfig->ports_enabled;
-			/* apply vlan map to port */
-			RD_SWITCH_PORT_REG(name, prt,
-				MV88E61XX_PRT_VMAP_REG, &reg);
-			reg &= ~((1 << MV88E61XX_MAX_PORTS_NUM) - 1);
-			reg |= vlanmap;
-			WR_SWITCH_PORT_REG(name, prt,
-				MV88E61XX_PRT_VMAP_REG, reg);
-		}
-	}
-}
-
-/*
- * Power up the specified port and reset PHY
- */
-static int mv88361xx_powerup(struct mv88e61xx_config *swconfig, u32 phy)
-{
-	char *name = swconfig->name;
-
-	/* Write Copper Specific control reg1 (0x10) for-
-	 * Enable Phy power up
-	 * Energy Detect on (sense&Xmit NLP Periodically
-	 * reset other settings default
-	 */
-	if (WR_SWITCH_PHY_REG(name, phy, 0x10, 0x3360))
-		return -1;
-
-	/* Write PHY ctrl reg (0x0) to apply
-	 * Phy reset (set bit 15 low)
-	 * reset other default values
-	 */
-	if (WR_SWITCH_PHY_REG(name, phy, 0x00, 0x9140))
-		return -1;
-
-	return 0;
-}
-
-/*
- * Default Setup for LED[0]_Control (ref: Table 46 Datasheet-3)
- * is set to "On-1000Mb/s Link, Off Else"
- * This function sets it to "On-Link, Blink-Activity, Off-NoLink"
+ * The mv88e61xx has three types of addresses: the smi bus address, the device
+ * address, and the register address.  The smi bus address distinguishes it on
+ * the smi bus from other PHYs or switches.  The device address determines
+ * which on-chip register set you are reading/writing (the various PHYs, their
+ * associated ports, or global configuration registers).  The register address
+ * is the offset of the register you are reading/writing.
  *
- * This is optional settings may be needed on some boards
- * to setup PHY LEDs default configuration to detect 10/100/1000Mb/s
- * Link status
+ * When the mv88e61xx is hardware configured to have address zero, it behaves in
+ * single-chip addressing mode, where it responds to all SMI addresses, using
+ * the smi address as its device address.  This obviously only works when this
+ * is the only chip on the SMI bus.  This allows the driver to access device
+ * registers without using indirection.  When the chip is configured to a
+ * non-zero address, it only responds to that SMI address and requires indirect
+ * writes to access the different device addresses.
  */
-static int mv88361xx_led_init(struct mv88e61xx_config *swconfig, u32 phy)
+static int mv88e61xx_reg_read(struct phy_device *phydev, int dev, int reg)
 {
-	char *name = swconfig->name;
+	struct mv88e61xx_phy_priv *priv = phydev->priv;
+	struct mii_dev *mdio_bus = priv->mdio_bus;
+	int smi_addr = priv->smi_addr;
+	int res;
 
-	if (swconfig->led_init != MV88E61XX_LED_INIT_EN)
-		return 0;
+	/* In single-chip mode, the device can be addressed directly */
+	if (smi_addr == 0)
+		return mdio_bus->read(mdio_bus, dev, MDIO_DEVAD_NONE, reg);
 
-	/* set page address to 3 */
-	if (WR_SWITCH_PHY_REG(name, phy, 0x16, 0x0003))
-		return -1;
+	/* Wait for the bus to become free */
+	res = mv88e61xx_smi_wait(mdio_bus, smi_addr);
+	if (res < 0)
+		return res;
 
-	/*
-	 * set LED Func Ctrl reg
-	 * value 0x0001 = LED[0] On-Link, Blink-Activity, Off-NoLink
-	 */
-	if (WR_SWITCH_PHY_REG(name, phy, 0x10, 0x0001))
-		return -1;
+	/* Issue the read command */
+	res = mdio_bus->write(mdio_bus, smi_addr, MDIO_DEVAD_NONE, SMI_CMD_REG,
+			 smi_cmd_read(dev, reg));
+	if (res < 0)
+		return res;
 
-	/* set page address to 0 */
-	if (WR_SWITCH_PHY_REG(name, phy, 0x16, 0x0000))
-		return -1;
+	/* Wait for the read command to complete */
+	res = mv88e61xx_smi_wait(mdio_bus, smi_addr);
+	if (res < 0)
+		return res;
+
+	/* Read the data */
+	res = mdio_bus->read(mdio_bus, smi_addr, MDIO_DEVAD_NONE, SMI_DATA_REG);
+	if (res < 0)
+		return res;
+
+	return bitfield_extract(res, 0, 16);
+}
+
+/* See the comment above mv88e61xx_reg_read */
+static int mv88e61xx_reg_write(struct phy_device *phydev, int dev, int reg,
+			       u16 val)
+{
+	struct mv88e61xx_phy_priv *priv = phydev->priv;
+	struct mii_dev *mdio_bus = priv->mdio_bus;
+	int smi_addr = priv->smi_addr;
+	int res;
+
+	/* In single-chip mode, the device can be addressed directly */
+	if (smi_addr == 0) {
+		return mdio_bus->write(mdio_bus, dev, MDIO_DEVAD_NONE, reg,
+				val);
+	}
+
+	/* Wait for the bus to become free */
+	res = mv88e61xx_smi_wait(mdio_bus, smi_addr);
+	if (res < 0)
+		return res;
+
+	/* Set the data to write */
+	res = mdio_bus->write(mdio_bus, smi_addr, MDIO_DEVAD_NONE,
+				SMI_DATA_REG, val);
+	if (res < 0)
+		return res;
+
+	/* Issue the write command */
+	res = mdio_bus->write(mdio_bus, smi_addr, MDIO_DEVAD_NONE, SMI_CMD_REG,
+				smi_cmd_write(dev, reg));
+	if (res < 0)
+		return res;
+
+	/* Wait for the write command to complete */
+	res = mv88e61xx_smi_wait(mdio_bus, smi_addr);
+	if (res < 0)
+		return res;
 
 	return 0;
 }
 
-/*
- * Reverse Transmit polarity for Media Dependent Interface
- * Pins (MDIP) bits in Copper Specific Control Register 3
- * (Page 0, Reg 20 for each phy (except cpu port)
- * Reference: Section 1.1 Switch datasheet-3
- *
- * This is optional settings may be needed on some boards
- * for PHY<->magnetics h/w tuning
- */
-static int mv88361xx_reverse_mdipn(struct mv88e61xx_config *swconfig, u32 phy)
+static int mv88e61xx_phy_wait(struct phy_device *phydev)
 {
-	char *name = swconfig->name;
+	int val;
+	u32 timeout = 100;
 
-	if (swconfig->mdip != MV88E61XX_MDIP_REVERSE)
-		return 0;
+	do {
+		val = mv88e61xx_reg_read(phydev, DEVADDR_GLOBAL_2,
+					 GLOBAL2_REG_PHY_CMD);
+		if (val >= 0 && (val & SMI_BUSY) == 0)
+			return 0;
 
-	/*Reverse MDIP/N[3:0] bits */
-	if (WR_SWITCH_PHY_REG(name, phy, 0x14, 0x000f))
-		return -1;
+		mdelay(1);
+	} while (--timeout);
 
-	return 0;
+	return -ETIMEDOUT;
 }
 
-/*
- * Marvell 88E61XX Switch initialization
- */
-int mv88e61xx_switch_initialize(struct mv88e61xx_config *swconfig)
+static int mv88e61xx_phy_read_indirect(struct mii_dev *smi_wrapper, int dev,
+		int devad, int reg)
 {
-	u32 prt;
-	u16 reg;
-	char *idstr;
-	char *name = swconfig->name;
-	int time;
+	struct phy_device *phydev;
+	int res;
 
-	if (miiphy_set_current_dev(name)) {
-		printf("%s failed\n", __FUNCTION__);
-		return -1;
+	phydev = (struct phy_device *)smi_wrapper->priv;
+
+	/* Issue command to read */
+	res = mv88e61xx_reg_write(phydev, DEVADDR_GLOBAL_2,
+				  GLOBAL2_REG_PHY_CMD,
+				  smi_cmd_read(dev, reg));
+
+	/* Wait for data to be read */
+	res = mv88e61xx_phy_wait(phydev);
+	if (res < 0)
+		return res;
+
+	/* Read retrieved data */
+	return mv88e61xx_reg_read(phydev, DEVADDR_GLOBAL_2,
+				  GLOBAL2_REG_PHY_DATA);
+}
+
+static int mv88e61xx_phy_write_indirect(struct mii_dev *smi_wrapper, int dev,
+		int devad, int reg, u16 data)
+{
+	struct phy_device *phydev;
+	int res;
+
+	phydev = (struct phy_device *)smi_wrapper->priv;
+
+	/* Set the data to write */
+	res = mv88e61xx_reg_write(phydev, DEVADDR_GLOBAL_2,
+				  GLOBAL2_REG_PHY_DATA, data);
+	if (res < 0)
+		return res;
+	/* Issue the write command */
+	res = mv88e61xx_reg_write(phydev, DEVADDR_GLOBAL_2,
+				  GLOBAL2_REG_PHY_CMD,
+				  smi_cmd_write(dev, reg));
+	if (res < 0)
+		return res;
+
+	/* Wait for command to complete */
+	return mv88e61xx_phy_wait(phydev);
+}
+
+/* Wrapper function to make calls to phy_read_indirect simpler */
+static int mv88e61xx_phy_read(struct phy_device *phydev, int phy, int reg)
+{
+	return mv88e61xx_phy_read_indirect(phydev->bus, DEVADDR_PHY(phy),
+					   MDIO_DEVAD_NONE, reg);
+}
+
+/* Wrapper function to make calls to phy_read_indirect simpler */
+static int mv88e61xx_phy_write(struct phy_device *phydev, int phy,
+		int reg, u16 val)
+{
+	return mv88e61xx_phy_write_indirect(phydev->bus, DEVADDR_PHY(phy),
+					    MDIO_DEVAD_NONE, reg, val);
+}
+
+static int mv88e61xx_port_read(struct phy_device *phydev, u8 port, u8 reg)
+{
+	return mv88e61xx_reg_read(phydev, DEVADDR_PORT(port), reg);
+}
+
+static int mv88e61xx_port_write(struct phy_device *phydev, u8 port, u8 reg,
+								u16 val)
+{
+	return mv88e61xx_reg_write(phydev, DEVADDR_PORT(port), reg, val);
+}
+
+static int mv88e61xx_set_page(struct phy_device *phydev, u8 phy, u8 page)
+{
+	return mv88e61xx_phy_write(phydev, phy, PHY_REG_PAGE, page);
+}
+
+static int mv88e61xx_get_switch_id(struct phy_device *phydev)
+{
+	int res;
+
+	res = mv88e61xx_port_read(phydev, 0, PORT_REG_SWITCH_ID);
+	if (res < 0)
+		return res;
+	return res & 0xfff0;
+}
+
+static bool mv88e61xx_6352_family(struct phy_device *phydev)
+{
+	struct mv88e61xx_phy_priv *priv = phydev->priv;
+
+	switch (priv->id) {
+	case PORT_SWITCH_ID_6172:
+	case PORT_SWITCH_ID_6176:
+	case PORT_SWITCH_ID_6240:
+	case PORT_SWITCH_ID_6352:
+		return true;
+	}
+	return false;
+}
+
+static int mv88e61xx_get_cmode(struct phy_device *phydev, u8 port)
+{
+	int res;
+
+	res = mv88e61xx_port_read(phydev, port, PORT_REG_STATUS);
+	if (res < 0)
+		return res;
+	return res & PORT_REG_STATUS_CMODE_MASK;
+}
+
+static int mv88e61xx_parse_status(struct phy_device *phydev)
+{
+	unsigned int speed;
+	unsigned int mii_reg;
+
+	mii_reg = phy_read(phydev, MDIO_DEVAD_NONE, PHY_REG_STATUS1);
+
+	if ((mii_reg & PHY_REG_STATUS1_LINK) &&
+	    !(mii_reg & PHY_REG_STATUS1_SPDDONE)) {
+		int i = 0;
+
+		puts("Waiting for PHY realtime link");
+		while (!(mii_reg & PHY_REG_STATUS1_SPDDONE)) {
+			/* Timeout reached ? */
+			if (i > PHY_AUTONEGOTIATE_TIMEOUT) {
+				puts(" TIMEOUT !\n");
+				phydev->link = 0;
+				break;
+			}
+
+			if ((i++ % 1000) == 0)
+				putc('.');
+			udelay(1000);
+			mii_reg = phy_read(phydev, MDIO_DEVAD_NONE,
+					PHY_REG_STATUS1);
+		}
+		puts(" done\n");
+		udelay(500000);	/* another 500 ms (results in faster booting) */
+	} else {
+		if (mii_reg & PHY_REG_STATUS1_LINK)
+			phydev->link = 1;
+		else
+			phydev->link = 0;
 	}
 
-	if (!(swconfig->cpuport & ((1 << 4) | (1 << 5)))) {
-		swconfig->cpuport = (1 << 5);
-		printf("Invalid cpu port config, using default port5\n");
-	}
+	if (mii_reg & PHY_REG_STATUS1_DUPLEX)
+		phydev->duplex = DUPLEX_FULL;
+	else
+		phydev->duplex = DUPLEX_HALF;
 
-	RD_SWITCH_PORT_REG(name, 0, MII_PHYSID2, &reg);
-	switch (reg &= 0xfff0) {
-	case 0x1610:
-		idstr = "88E6161";
+	speed = mii_reg & PHY_REG_STATUS1_SPEED;
+
+	switch (speed) {
+	case PHY_REG_STATUS1_GBIT:
+		phydev->speed = SPEED_1000;
 		break;
-	case 0x1650:
-		idstr = "88E6165";
-		break;
-	case 0x1210:
-		idstr = "88E6123";
-		/* ports 2,3,4 not available */
-		swconfig->ports_enabled &= 0x023;
+	case PHY_REG_STATUS1_100:
+		phydev->speed = SPEED_100;
 		break;
 	default:
-		/* Could not detect switch id */
-		idstr = "88E61??";
+		phydev->speed = SPEED_10;
 		break;
 	}
 
-	/* be sure all ports are disabled */
-	for (prt = 0; prt < MV88E61XX_MAX_PORTS_NUM; prt++) {
-		RD_SWITCH_PORT_REG(name, prt, MV88E61XX_PRT_CTRL_REG, &reg);
-		reg &= ~0x3;
-		WR_SWITCH_PORT_REG(name, prt, MV88E61XX_PRT_CTRL_REG, reg);
+	return 0;
+}
+
+static int mv88e61xx_switch_reset(struct phy_device *phydev)
+{
+	int time;
+	int val;
+	u8 port;
+
+	/* Disable all ports */
+	for (port = 0; port < PORT_COUNT; port++) {
+		val = mv88e61xx_port_read(phydev, port, PORT_REG_CTRL);
+		if (val < 0)
+			return val;
+		val = bitfield_replace(val, PORT_REG_CTRL_PSTATE_SHIFT,
+				       PORT_REG_CTRL_PSTATE_WIDTH,
+				       PORT_REG_CTRL_PSTATE_DISABLED);
+		val = mv88e61xx_port_write(phydev, port, PORT_REG_CTRL, val);
+		if (val < 0)
+			return val;
 	}
 
-	/* wait 2 ms for queues to drain */
+	/* Wait 2 ms for queues to drain */
 	udelay(2000);
 
-	/* reset switch */
-	RD_SWITCH_REG(name, MV88E61XX_GLBREG_DEVADR, MV88E61XX_SGCR, &reg);
-	reg |= 0x8000;
-	WR_SWITCH_REG(name, MV88E61XX_GLBREG_DEVADR, MV88E61XX_SGCR, reg);
+	/* Reset switch */
+	val = mv88e61xx_reg_read(phydev, DEVADDR_GLOBAL_1, GLOBAL1_CTRL);
+	if (val < 0)
+		return val;
+	val |= GLOBAL1_CTRL_SWRESET;
+	val = mv88e61xx_reg_write(phydev, DEVADDR_GLOBAL_1,
+				     GLOBAL1_CTRL, val);
+	if (val < 0)
+		return val;
 
-	/* wait up to 1 second for switch reset complete */
+	/* Wait up to 1 second for switch reset complete */
 	for (time = 1000; time; time--) {
-		RD_SWITCH_REG(name, MV88E61XX_GLBREG_DEVADR, MV88E61XX_SGSR,
-			&reg);
-		if ((reg & 0xc800) == 0xc800)
+		val = mv88e61xx_reg_read(phydev, DEVADDR_GLOBAL_1,
+					    GLOBAL1_CTRL);
+		if (val >= 0 && ((val & GLOBAL1_CTRL_SWRESET) == 0))
 			break;
 		udelay(1000);
 	}
 	if (!time)
-		return -1;
+		return -ETIMEDOUT;
 
-	/* Port based VLANs configuration */
-	mv88e61xx_port_vlan_config(swconfig);
-
-	if (swconfig->rgmii_delay == MV88E61XX_RGMII_DELAY_EN) {
-		/*
-		 * Enable RGMII delay on Tx and Rx for CPU port
-		 * Ref: sec 9.5 of chip datasheet-02
-		 */
-		/*Force port link down */
-		WR_SWITCH_PORT_REG(name, 5, MV88E61XX_PCS_CTRL_REG, 0x10);
-		/* configure port RGMII delay */
-		WR_SWITCH_PORT_REG(name, 4,
-			MV88E61XX_RGMII_TIMECTRL_REG, 0x81e7);
-		RD_SWITCH_PORT_REG(name, 5,
-			MV88E61XX_RGMII_TIMECTRL_REG, &reg);
-		WR_SWITCH_PORT_REG(name, 5,
-			MV88E61XX_RGMII_TIMECTRL_REG, reg | 0x18);
-		WR_SWITCH_PORT_REG(name, 4,
-			MV88E61XX_RGMII_TIMECTRL_REG, 0xc1e7);
-		/* Force port to RGMII FDX 1000Base then up */
-		WR_SWITCH_PORT_REG(name, 5, MV88E61XX_PCS_CTRL_REG, 0x1e);
-		WR_SWITCH_PORT_REG(name, 5, MV88E61XX_PCS_CTRL_REG, 0x3e);
-	}
-
-	for (prt = 0; prt < MV88E61XX_MAX_PORTS_NUM; prt++) {
-
-		/* configure port's PHY */
-		if (!((1 << prt) & swconfig->cpuport)) {
-			/* port 4 has phy 6, not 4 */
-			int phy = (prt == 4) ? 6 : prt;
-			if (mv88361xx_powerup(swconfig, phy))
-				return -1;
-			if (mv88361xx_reverse_mdipn(swconfig, phy))
-				return -1;
-			if (mv88361xx_led_init(swconfig, phy))
-				return -1;
-		}
-
-		/* set port VID to port+1 except for cpu port */
-		if (!((1 << prt) & swconfig->cpuport)) {
-			RD_SWITCH_PORT_REG(name, prt,
-				MV88E61XX_PRT_VID_REG, &reg);
-			WR_SWITCH_PORT_REG(name, prt,
-				MV88E61XX_PRT_VID_REG,
-				(reg & ~1023) | (prt+1));
-		}
-
-		/*Program port state */
-		RD_SWITCH_PORT_REG(name, prt,
-			MV88E61XX_PRT_CTRL_REG, &reg);
-		WR_SWITCH_PORT_REG(name, prt,
-			MV88E61XX_PRT_CTRL_REG,
-			reg | (swconfig->portstate & 0x03));
-
-	}
-
-	printf("%s Initialized on %s\n", idstr, name);
 	return 0;
 }
 
-#ifdef CONFIG_MV88E61XX_CMD
-static int
-do_switch(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+static int mv88e61xx_serdes_init(struct phy_device *phydev)
 {
-	char *name, *endp;
-	int write = 0;
-	enum { dev, prt, phy } target = dev;
-	u32 addrlo, addrhi, addr;
-	u32 reglo, reghi, reg;
-	u16 data, rdata;
+	int val;
 
-	if (argc < 7)
-		return -1;
+	val = mv88e61xx_set_page(phydev, DEVADDR_SERDES, PHY_PAGE_SERDES);
+	if (val < 0)
+		return val;
 
-	name = argv[1];
+	/* Power up serdes module */
+	val = mv88e61xx_phy_read(phydev, DEVADDR_SERDES, MII_BMCR);
+	if (val < 0)
+		return val;
+	val &= ~(BMCR_PDOWN);
+	val = mv88e61xx_phy_write(phydev, DEVADDR_SERDES, MII_BMCR, val);
+	if (val < 0)
+		return val;
 
-	if (strcmp(argv[2], "phy") == 0)
-		target = phy;
-	else if (strcmp(argv[2], "port") == 0)
-		target = prt;
-	else if (strcmp(argv[2], "dev") != 0)
-		return 1;
-
-	addrlo = simple_strtoul(argv[3], &endp, 16);
-
-	if (!*endp) {
-		addrhi = addrlo;
-	} else {
-		while (*endp < '0' || *endp > '9')
-			endp++;
-		addrhi = simple_strtoul(endp, NULL, 16);
-	}
-
-	reglo = simple_strtoul(argv[5], &endp, 16);
-	if (!*endp) {
-		reghi = reglo;
-	} else {
-		while (*endp < '0' || *endp > '9')
-			endp++;
-		reghi = simple_strtoul(endp, NULL, 16);
-	}
-
-	if (strcmp(argv[6], "write") == 0)
-		write = 1;
-	else if (strcmp(argv[6], "read") != 0)
-		return 1;
-
-	data = simple_strtoul(argv[7], NULL, 16);
-
-	for (addr = addrlo; addr <= addrhi; addr++) {
-		for (reg = reglo; reg <= reghi; reg++) {
-			if (write) {
-				if (target == phy)
-					mv88e61xx_switch_miiphy_write(
-						name, addr, reg, data);
-				else if (target == prt)
-					wr_switch_reg(name,
-						addr+MV88E61XX_PRT_OFST,
-						reg, data);
-				else
-					wr_switch_reg(name, addr, reg, data);
-			} else {
-				if (target == phy)
-					mv88e61xx_switch_miiphy_read(
-						name, addr, reg, &rdata);
-				else if (target == prt)
-					rd_switch_reg(name,
-						addr+MV88E61XX_PRT_OFST,
-						reg, &rdata);
-				else
-					rd_switch_reg(name, addr, reg, &rdata);
-				printf("%s %s %s %02x %s %02x %s %04x\n",
-					argv[0], argv[1], argv[2], addr,
-					argv[4], reg, argv[6], rdata);
-				if (write && argc == 7 && rdata != data)
-					return 1;
-			}
-		}
-	}
 	return 0;
 }
 
-U_BOOT_CMD(mv88e61xx, 8, 0, do_switch,
-	"Read or write mv88e61xx switch registers",
-	"<ethdevice> dev|port|phy <addr> reg <reg> write <data>\n"
-	"<ethdevice> dev|port|phy <addr> reg <reg> read [<data>]\n"
-	"    - read/write switch device, port or phy at (addr,reg)\n"
-	"      addr=0..0x1C for dev, 0..5 for port or phy.\n"
-	"      reg=0..0x1F.\n"
-	"      data=0..0xFFFF (tested if present against actual read).\n"
-	"      All numeric parameters are assumed to be hex.\n"
-	"      <addr> and <<reg> arguments can be ranges (x..y)"
-);
-#endif /* CONFIG_MV88E61XX_CMD */
+static int mv88e61xx_port_enable(struct phy_device *phydev, u8 port)
+{
+	int val;
+
+	val = mv88e61xx_port_read(phydev, port, PORT_REG_CTRL);
+	if (val < 0)
+		return val;
+	val = bitfield_replace(val, PORT_REG_CTRL_PSTATE_SHIFT,
+			       PORT_REG_CTRL_PSTATE_WIDTH,
+			       PORT_REG_CTRL_PSTATE_FORWARD);
+	val = mv88e61xx_port_write(phydev, port, PORT_REG_CTRL, val);
+	if (val < 0)
+		return val;
+
+	return 0;
+}
+
+static int mv88e61xx_port_set_vlan(struct phy_device *phydev, u8 port,
+							u8 mask)
+{
+	int val;
+
+	/* Set VID to port number plus one */
+	val = mv88e61xx_port_read(phydev, port, PORT_REG_VLAN_ID);
+	if (val < 0)
+		return val;
+	val = bitfield_replace(val, PORT_REG_VLAN_ID_DEF_VID_SHIFT,
+			       PORT_REG_VLAN_ID_DEF_VID_WIDTH,
+			       port + 1);
+	val = mv88e61xx_port_write(phydev, port, PORT_REG_VLAN_ID, val);
+	if (val < 0)
+		return val;
+
+	/* Set VID mask */
+	val = mv88e61xx_port_read(phydev, port, PORT_REG_VLAN_MAP);
+	if (val < 0)
+		return val;
+	val = bitfield_replace(val, PORT_REG_VLAN_MAP_TABLE_SHIFT,
+			       PORT_REG_VLAN_MAP_TABLE_WIDTH,
+			       mask);
+	val = mv88e61xx_port_write(phydev, port, PORT_REG_VLAN_MAP, val);
+	if (val < 0)
+		return val;
+
+	return 0;
+}
+
+static int mv88e61xx_read_port_config(struct phy_device *phydev, u8 port)
+{
+	int res;
+	int val;
+	bool forced = false;
+
+	val = mv88e61xx_port_read(phydev, port, PORT_REG_STATUS);
+	if (val < 0)
+		return val;
+	if (!(val & PORT_REG_STATUS_LINK)) {
+		/* Temporarily force link to read port configuration */
+		u32 timeout = 100;
+		forced = true;
+
+		val = mv88e61xx_port_read(phydev, port, PORT_REG_PHYS_CTRL);
+		if (val < 0)
+			return val;
+		val |= (PORT_REG_PHYS_CTRL_LINK_FORCE |
+				PORT_REG_PHYS_CTRL_LINK_VALUE);
+		val = mv88e61xx_port_write(phydev, port, PORT_REG_PHYS_CTRL,
+					   val);
+		if (val < 0)
+			return val;
+
+		/* Wait for status register to reflect forced link */
+		do {
+			val = mv88e61xx_port_read(phydev, port,
+						  PORT_REG_STATUS);
+			if (val < 0)
+				goto unforce;
+			if (val & PORT_REG_STATUS_LINK)
+				break;
+		} while (--timeout);
+
+		if (timeout == 0) {
+			res = -ETIMEDOUT;
+			goto unforce;
+		}
+	}
+
+	if (val & PORT_REG_STATUS_DUPLEX)
+		phydev->duplex = DUPLEX_FULL;
+	else
+		phydev->duplex = DUPLEX_HALF;
+
+	val = bitfield_extract(val, PORT_REG_STATUS_SPEED_SHIFT,
+			       PORT_REG_STATUS_SPEED_WIDTH);
+	switch (val) {
+	case PORT_REG_STATUS_SPEED_1000:
+		phydev->speed = SPEED_1000;
+		break;
+	case PORT_REG_STATUS_SPEED_100:
+		phydev->speed = SPEED_100;
+		break;
+	default:
+		phydev->speed = SPEED_10;
+		break;
+	}
+
+	res = 0;
+
+unforce:
+	if (forced) {
+		val = mv88e61xx_port_read(phydev, port, PORT_REG_PHYS_CTRL);
+		if (val < 0)
+			return val;
+		val &= ~(PORT_REG_PHYS_CTRL_LINK_FORCE |
+				PORT_REG_PHYS_CTRL_LINK_VALUE);
+		val = mv88e61xx_port_write(phydev, port, PORT_REG_PHYS_CTRL,
+					   val);
+		if (val < 0)
+			return val;
+	}
+
+	return res;
+}
+
+static int mv88e61xx_set_cpu_port(struct phy_device *phydev)
+{
+	int val;
+
+	/* Set CPUDest */
+	val = mv88e61xx_reg_read(phydev, DEVADDR_GLOBAL_1, GLOBAL1_MON_CTRL);
+	if (val < 0)
+		return val;
+	val = bitfield_replace(val, GLOBAL1_MON_CTRL_CPUDEST_SHIFT,
+			       GLOBAL1_MON_CTRL_CPUDEST_WIDTH,
+			       CONFIG_MV88E61XX_CPU_PORT);
+	val = mv88e61xx_reg_write(phydev, DEVADDR_GLOBAL_1,
+				     GLOBAL1_MON_CTRL, val);
+	if (val < 0)
+		return val;
+
+	/* Allow CPU to route to any port */
+	val = PORT_MASK & ~(1 << CONFIG_MV88E61XX_CPU_PORT);
+	val = mv88e61xx_port_set_vlan(phydev, CONFIG_MV88E61XX_CPU_PORT, val);
+	if (val < 0)
+		return val;
+
+	/* Enable CPU port */
+	val = mv88e61xx_port_enable(phydev, CONFIG_MV88E61XX_CPU_PORT);
+	if (val < 0)
+		return val;
+
+	val = mv88e61xx_read_port_config(phydev, CONFIG_MV88E61XX_CPU_PORT);
+	if (val < 0)
+		return val;
+
+	/* If CPU is connected to serdes, initialize serdes */
+	if (mv88e61xx_6352_family(phydev)) {
+		val = mv88e61xx_get_cmode(phydev, CONFIG_MV88E61XX_CPU_PORT);
+		if (val < 0)
+			return val;
+		if (val == PORT_REG_STATUS_CMODE_100BASE_X ||
+		    val == PORT_REG_STATUS_CMODE_1000BASE_X ||
+		    val == PORT_REG_STATUS_CMODE_SGMII) {
+			val = mv88e61xx_serdes_init(phydev);
+			if (val < 0)
+				return val;
+		}
+	}
+
+	return 0;
+}
+
+static int mv88e61xx_switch_init(struct phy_device *phydev)
+{
+	static int init;
+	int res;
+
+	if (init)
+		return 0;
+
+	res = mv88e61xx_switch_reset(phydev);
+	if (res < 0)
+		return res;
+
+	res = mv88e61xx_set_cpu_port(phydev);
+	if (res < 0)
+		return res;
+
+	init = 1;
+
+	return 0;
+}
+
+static int mv88e61xx_phy_enable(struct phy_device *phydev, u8 phy)
+{
+	int val;
+
+	val = mv88e61xx_phy_read(phydev, phy, MII_BMCR);
+	if (val < 0)
+		return val;
+	val &= ~(BMCR_PDOWN);
+	val = mv88e61xx_phy_write(phydev, phy, MII_BMCR, val);
+	if (val < 0)
+		return val;
+
+	return 0;
+}
+
+static int mv88e61xx_phy_setup(struct phy_device *phydev, u8 phy)
+{
+	int val;
+
+	/*
+	 * Enable energy-detect sensing on PHY, used to determine when a PHY
+	 * port is physically connected
+	 */
+	val = mv88e61xx_phy_read(phydev, phy, PHY_REG_CTRL1);
+	if (val < 0)
+		return val;
+	val = bitfield_replace(val, PHY_REG_CTRL1_ENERGY_DET_SHIFT,
+			       PHY_REG_CTRL1_ENERGY_DET_WIDTH,
+			       PHY_REG_CTRL1_ENERGY_DET_SENSE_XMIT);
+	val = mv88e61xx_phy_write(phydev, phy, PHY_REG_CTRL1, val);
+	if (val < 0)
+		return val;
+
+	return 0;
+}
+
+static int mv88e61xx_phy_config_port(struct phy_device *phydev, u8 phy)
+{
+	int val;
+
+	val = mv88e61xx_port_enable(phydev, phy);
+	if (val < 0)
+		return val;
+
+	val = mv88e61xx_port_set_vlan(phydev, phy,
+			1 << CONFIG_MV88E61XX_CPU_PORT);
+	if (val < 0)
+		return val;
+
+	return 0;
+}
+
+static int mv88e61xx_probe(struct phy_device *phydev)
+{
+	struct mii_dev *smi_wrapper;
+	struct mv88e61xx_phy_priv *priv;
+	int res;
+
+	res = mv88e61xx_hw_reset(phydev);
+	if (res < 0)
+		return res;
+
+	priv = malloc(sizeof(*priv));
+	if (!priv)
+		return -ENOMEM;
+
+	memset(priv, 0, sizeof(*priv));
+
+	/*
+	 * This device requires indirect reads/writes to the PHY registers
+	 * which the generic PHY code can't handle.  Make a wrapper MII device
+	 * to handle reads/writes
+	 */
+	smi_wrapper = mdio_alloc();
+	if (!smi_wrapper) {
+		free(priv);
+		return -ENOMEM;
+	}
+
+	/*
+	 * Store the mdio bus in the private data, as we are going to replace
+	 * the bus with the wrapper bus
+	 */
+	priv->mdio_bus = phydev->bus;
+
+	/*
+	 * Store the smi bus address in private data.  This lets us use the
+	 * phydev addr field for device address instead, as the genphy code
+	 * expects.
+	 */
+	priv->smi_addr = phydev->addr;
+
+	/*
+	 * Store the phy_device in the wrapper mii device. This lets us get it
+	 * back when genphy functions call phy_read/phy_write.
+	 */
+	smi_wrapper->priv = phydev;
+	strncpy(smi_wrapper->name, "indirect mii", sizeof(smi_wrapper->name));
+	smi_wrapper->read = mv88e61xx_phy_read_indirect;
+	smi_wrapper->write = mv88e61xx_phy_write_indirect;
+
+	/* Replace the bus with the wrapper device */
+	phydev->bus = smi_wrapper;
+
+	phydev->priv = priv;
+
+	priv->id = mv88e61xx_get_switch_id(phydev);
+
+	return 0;
+}
+
+static int mv88e61xx_phy_config(struct phy_device *phydev)
+{
+	int res;
+	int i;
+	int ret = -1;
+
+	res = mv88e61xx_switch_init(phydev);
+	if (res < 0)
+		return res;
+
+	for (i = 0; i < PORT_COUNT; i++) {
+		if ((1 << i) & CONFIG_MV88E61XX_PHY_PORTS) {
+			phydev->addr = i;
+
+			res = mv88e61xx_phy_enable(phydev, i);
+			if (res < 0) {
+				printf("Error enabling PHY %i\n", i);
+				continue;
+			}
+			res = mv88e61xx_phy_setup(phydev, i);
+			if (res < 0) {
+				printf("Error setting up PHY %i\n", i);
+				continue;
+			}
+			res = mv88e61xx_phy_config_port(phydev, i);
+			if (res < 0) {
+				printf("Error configuring PHY %i\n", i);
+				continue;
+			}
+
+			res = genphy_config_aneg(phydev);
+			if (res < 0) {
+				printf("Error setting PHY %i autoneg\n", i);
+				continue;
+			}
+			res = phy_reset(phydev);
+			if (res < 0) {
+				printf("Error resetting PHY %i\n", i);
+				continue;
+			}
+
+			/* Return success if any PHY succeeds */
+			ret = 0;
+		}
+	}
+
+	return ret;
+}
+
+static int mv88e61xx_phy_is_connected(struct phy_device *phydev)
+{
+	int val;
+
+	val = mv88e61xx_phy_read(phydev, phydev->addr, PHY_REG_STATUS1);
+	if (val < 0)
+		return 0;
+
+	/*
+	 * After reset, the energy detect signal remains high for a few seconds
+	 * regardless of whether a cable is connected.  This function will
+	 * return false positives during this time.
+	 */
+	return (val & PHY_REG_STATUS1_ENERGY) == 0;
+}
+
+static int mv88e61xx_phy_startup(struct phy_device *phydev)
+{
+	int i;
+	int link = 0;
+	int res;
+	int speed = phydev->speed;
+	int duplex = phydev->duplex;
+
+	for (i = 0; i < PORT_COUNT; i++) {
+		if ((1 << i) & CONFIG_MV88E61XX_PHY_PORTS) {
+			phydev->addr = i;
+			if (!mv88e61xx_phy_is_connected(phydev))
+				continue;
+			res = genphy_update_link(phydev);
+			if (res < 0)
+				continue;
+			res = mv88e61xx_parse_status(phydev);
+			if (res < 0)
+				continue;
+			link = (link || phydev->link);
+		}
+	}
+	phydev->link = link;
+
+	/* Restore CPU interface speed and duplex after it was changed for
+	 * other ports */
+	phydev->speed = speed;
+	phydev->duplex = duplex;
+
+	return 0;
+}
+
+static struct phy_driver mv88e61xx_driver = {
+	.name = "Marvell MV88E61xx",
+	.uid = 0x01410eb1,
+	.mask = 0xfffffff0,
+	.features = PHY_GBIT_FEATURES,
+	.probe = mv88e61xx_probe,
+	.config = mv88e61xx_phy_config,
+	.startup = mv88e61xx_phy_startup,
+	.shutdown = &genphy_shutdown,
+};
+
+int phy_mv88e61xx_init(void)
+{
+	phy_register(&mv88e61xx_driver);
+
+	return 0;
+}
+
+/*
+ * Overload weak get_phy_id definition since we need non-standard functions
+ * to read PHY registers
+ */
+int get_phy_id(struct mii_dev *bus, int smi_addr, int devad, u32 *phy_id)
+{
+	struct phy_device temp_phy;
+	struct mv88e61xx_phy_priv temp_priv;
+	struct mii_dev temp_mii;
+	int val;
+
+	/*
+	 * Buid temporary data structures that the chip reading code needs to
+	 * read the ID
+	 */
+	temp_priv.mdio_bus = bus;
+	temp_priv.smi_addr = smi_addr;
+	temp_phy.priv = &temp_priv;
+	temp_mii.priv = &temp_phy;
+
+	val = mv88e61xx_phy_read_indirect(&temp_mii, 0, devad, MII_PHYSID1);
+	if (val < 0)
+		return -EIO;
+
+	*phy_id = val << 16;
+
+	val = mv88e61xx_phy_read_indirect(&temp_mii, 0, devad, MII_PHYSID2);
+	if (val < 0)
+		return -EIO;
+
+	*phy_id |= (val & 0xffff);
+
+	return 0;
+}
diff --git a/drivers/net/phy/mv88e61xx.h b/drivers/net/phy/mv88e61xx.h
deleted file mode 100644
index 9c62e4a..0000000
--- a/drivers/net/phy/mv88e61xx.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * (C) Copyright 2009
- * Marvell Semiconductor <www.marvell.com>
- * Prafulla Wadaskar <prafulla@marvell.com>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#ifndef _MV88E61XX_H
-#define _MV88E61XX_H
-
-#include <miiphy.h>
-
-#define MV88E61XX_CPU_PORT		0x5
-
-#define MV88E61XX_PHY_TIMEOUT		100000
-
-/* port dev-addr (= port + 0x10) */
-#define MV88E61XX_PRT_OFST		0x10
-/* port registers */
-#define MV88E61XX_PCS_CTRL_REG		0x1
-#define MV88E61XX_PRT_CTRL_REG		0x4
-#define MV88E61XX_PRT_VMAP_REG		0x6
-#define MV88E61XX_PRT_VID_REG		0x7
-#define MV88E61XX_RGMII_TIMECTRL_REG	0x1A
-
-/* global registers dev-addr */
-#define MV88E61XX_GLBREG_DEVADR	0x1B
-/* global registers */
-#define MV88E61XX_SGSR			0x00
-#define MV88E61XX_SGCR			0x04
-
-/* global 2 registers dev-addr */
-#define MV88E61XX_GLB2REG_DEVADR	0x1C
-/* global 2 registers */
-#define MV88E61XX_PHY_CMD		0x18
-#define MV88E61XX_PHY_DATA		0x19
-/* global 2 phy commands */
-#define MV88E61XX_PHY_WRITE_CMD		0x9400
-#define MV88E61XX_PHY_READ_CMD		0x9800
-
-#define MV88E61XX_BUSY_OFST		15
-#define MV88E61XX_MODE_OFST		12
-#define MV88E61XX_OP_OFST		10
-#define MV88E61XX_ADDR_OFST		5
-
-#ifdef CONFIG_MV88E61XX_MULTICHIP_ADRMODE
-static int mv88e61xx_busychk_multic(char *name, u32 devaddr);
-static void mv88e61xx_switch_write(char *name, u32 phy_adr,
-	u32 reg_ofs, u16 data);
-static void mv88e61xx_switch_read(char *name, u32 phy_adr,
-	u32 reg_ofs, u16 *data);
-#define wr_switch_reg mv88e61xx_switch_write
-#define rd_switch_reg mv88e61xx_switch_read
-#else
-/* switch appears a s simple PHY and can thus use miiphy */
-#define wr_switch_reg miiphy_write
-#define rd_switch_reg miiphy_read
-#endif /* CONFIG_MV88E61XX_MULTICHIP_ADRMODE */
-
-#endif /* _MV88E61XX_H */
diff --git a/drivers/net/phy/natsemi.c b/drivers/net/phy/natsemi.c
index d2e4c3c..1592e9b 100644
--- a/drivers/net/phy/natsemi.c
+++ b/drivers/net/phy/natsemi.c
@@ -93,10 +93,13 @@
 
 static int dp83865_startup(struct phy_device *phydev)
 {
-	genphy_update_link(phydev);
-	dp83865_parse_status(phydev);
+	int ret;
 
-	return 0;
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return dp83865_parse_status(phydev);
 }
 
 
@@ -134,10 +137,13 @@
 
 static int dp83848_startup(struct phy_device *phydev)
 {
-	genphy_update_link(phydev);
-	dp83848_parse_status(phydev);
+	int ret;
 
-	return 0;
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return dp83848_parse_status(phydev);
 }
 
 static struct phy_driver DP83848_driver = {
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 23c82bb..80bdfb6 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -248,7 +248,7 @@
 			if (i > PHY_ANEG_TIMEOUT) {
 				printf(" TIMEOUT !\n");
 				phydev->link = 0;
-				return 0;
+				return -ETIMEDOUT;
 			}
 
 			if (ctrlc()) {
@@ -431,10 +431,13 @@
 
 int genphy_startup(struct phy_device *phydev)
 {
-	genphy_update_link(phydev);
-	genphy_parse_link(phydev);
+	int ret;
 
-	return 0;
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return genphy_parse_link(phydev);
 }
 
 int genphy_shutdown(struct phy_device *phydev)
@@ -458,6 +461,9 @@
 
 int phy_init(void)
 {
+#ifdef CONFIG_MV88E61XX_SWITCH
+	phy_mv88e61xx_init();
+#endif
 #ifdef CONFIG_PHY_AQUANTIA
 	phy_aquantia_init();
 #endif
@@ -876,9 +882,7 @@
 int phy_config(struct phy_device *phydev)
 {
 	/* Invoke an optional board-specific helper */
-	board_phy_config(phydev);
-
-	return 0;
+	return board_phy_config(phydev);
 }
 
 int phy_shutdown(struct phy_device *phydev)
diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
index 9d7f55b..7a99cb0 100644
--- a/drivers/net/phy/realtek.c
+++ b/drivers/net/phy/realtek.c
@@ -208,28 +208,38 @@
 
 static int rtl8211x_startup(struct phy_device *phydev)
 {
-	/* Read the Status (2x to make sure link is right) */
-	genphy_update_link(phydev);
-	rtl8211x_parse_status(phydev);
+	int ret;
 
-	return 0;
+	/* Read the Status (2x to make sure link is right) */
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return rtl8211x_parse_status(phydev);
 }
 
 static int rtl8211e_startup(struct phy_device *phydev)
 {
-	genphy_update_link(phydev);
-	genphy_parse_link(phydev);
+	int ret;
 
-	return 0;
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return genphy_parse_link(phydev);
 }
 
 static int rtl8211f_startup(struct phy_device *phydev)
 {
-	/* Read the Status (2x to make sure link is right) */
-	genphy_update_link(phydev);
-	rtl8211f_parse_status(phydev);
+	int ret;
 
-	return 0;
+	/* Read the Status (2x to make sure link is right) */
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+	/* Read the Status (2x to make sure link is right) */
+
+	return rtl8211f_parse_status(phydev);
 }
 
 /* Support for RTL8211B PHY */
diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c
index 34986a2..313fcdf 100644
--- a/drivers/net/phy/smsc.c
+++ b/drivers/net/phy/smsc.c
@@ -34,9 +34,13 @@
 
 static int smsc_startup(struct phy_device *phydev)
 {
-	genphy_update_link(phydev);
-	smsc_parse_status(phydev);
-	return 0;
+	int ret;
+
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+
+	return smsc_parse_status(phydev);
 }
 
 static struct phy_driver lan8700_driver = {
diff --git a/drivers/net/phy/ti.c b/drivers/net/phy/ti.c
index 937426b..c55dd97 100644
--- a/drivers/net/phy/ti.c
+++ b/drivers/net/phy/ti.c
@@ -6,6 +6,14 @@
  */
 #include <common.h>
 #include <phy.h>
+#include <linux/compat.h>
+#include <malloc.h>
+
+#include <fdtdec.h>
+#include <dm.h>
+#include <dt-bindings/net/ti-dp83867.h>
+
+DECLARE_GLOBAL_DATA_PTR;
 
 /* TI DP83867 */
 #define DP83867_DEVADDR		0x1f
@@ -71,6 +79,17 @@
 #define MII_MMD_CTRL_INCR_RDWT	0x8000 /* post increment on reads & writes */
 #define MII_MMD_CTRL_INCR_ON_WT	0xC000 /* post increment on writes only */
 
+/* User setting - can be taken from DTS */
+#define DEFAULT_RX_ID_DELAY	DP83867_RGMIIDCTL_2_25_NS
+#define DEFAULT_TX_ID_DELAY	DP83867_RGMIIDCTL_2_75_NS
+#define DEFAULT_FIFO_DEPTH	DP83867_PHYCR_FIFO_DEPTH_4_B_NIB
+
+struct dp83867_private {
+	int rx_id_delay;
+	int tx_id_delay;
+	int fifo_depth;
+};
+
 /**
  * phy_read_mmd_indirect - reads data from the MMD registers
  * @phydev: The PHY device bus
@@ -137,27 +156,60 @@
 	phy_write(phydev, addr, MII_MMD_DATA, data);
 }
 
+#if defined(CONFIG_DM_ETH)
 /**
- * phy_interface_is_rgmii - Convenience function for testing if a PHY interface
- * is RGMII (all variants)
+ * dp83867_data_init - Convenience function for setting PHY specific data
+ *
  * @phydev: the phy_device struct
  */
-static inline bool phy_interface_is_rgmii(struct phy_device *phydev)
+static int dp83867_of_init(struct phy_device *phydev)
 {
-	return phydev->interface >= PHY_INTERFACE_MODE_RGMII &&
-		phydev->interface <= PHY_INTERFACE_MODE_RGMII_TXID;
-}
+	struct dp83867_private *dp83867 = phydev->priv;
+	struct udevice *dev = phydev->dev;
 
-/* User setting - can be taken from DTS */
-#define RX_ID_DELAY	8
-#define TX_ID_DELAY	0xa
-#define FIFO_DEPTH	1
+	dp83867->rx_id_delay = fdtdec_get_uint(gd->fdt_blob, dev->of_offset,
+				 "ti,rx-internal-delay", -1);
+
+	dp83867->tx_id_delay = fdtdec_get_uint(gd->fdt_blob, dev->of_offset,
+				 "ti,tx-internal-delay", -1);
+
+	dp83867->fifo_depth = fdtdec_get_uint(gd->fdt_blob, dev->of_offset,
+				 "ti,fifo-depth", -1);
+
+	return 0;
+}
+#else
+static int dp83867_of_init(struct phy_device *phydev)
+{
+	struct dp83867_private *dp83867 = phydev->priv;
+
+	dp83867->rx_id_delay = DEFAULT_RX_ID_DELAY;
+	dp83867->tx_id_delay = DEFAULT_TX_ID_DELAY;
+	dp83867->fifo_depth = DEFAULT_FIFO_DEPTH;
+
+	return 0;
+}
+#endif
 
 static int dp83867_config(struct phy_device *phydev)
 {
+	struct dp83867_private *dp83867;
 	unsigned int val, delay, cfg2;
 	int ret;
 
+	if (!phydev->priv) {
+		dp83867 = kzalloc(sizeof(*dp83867), GFP_KERNEL);
+		if (!dp83867)
+			return -ENOMEM;
+
+		phydev->priv = dp83867;
+		ret = dp83867_of_init(phydev);
+		if (ret)
+			goto err_out;
+	} else {
+		dp83867 = (struct dp83867_private *)phydev->priv;
+	}
+
 	/* Restart the PHY.  */
 	val = phy_read(phydev, MDIO_DEVAD_NONE, DP83867_CTRL);
 	phy_write(phydev, MDIO_DEVAD_NONE, DP83867_CTRL,
@@ -166,10 +218,10 @@
 	if (phy_interface_is_rgmii(phydev)) {
 		ret = phy_write(phydev, MDIO_DEVAD_NONE, MII_DP83867_PHYCTRL,
 			(DP83867_MDI_CROSSOVER_AUTO << DP83867_MDI_CROSSOVER) |
-			(FIFO_DEPTH << DP83867_PHYCR_FIFO_DEPTH_SHIFT));
+			(dp83867->fifo_depth << DP83867_PHYCR_FIFO_DEPTH_SHIFT));
 		if (ret)
-			return ret;
-	} else {
+			goto err_out;
+	} else if (phy_interface_is_sgmii(phydev)) {
 		phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR,
 			  (BMCR_ANENABLE | BMCR_FULLDPLX | BMCR_SPEED1000));
 
@@ -189,8 +241,8 @@
 			  DP83867_PHYCTRL_SGMIIEN |
 			  (DP83867_MDI_CROSSOVER_MDIX <<
 			  DP83867_MDI_CROSSOVER) |
-			  (FIFO_DEPTH << DP83867_PHYCTRL_RXFIFO_SHIFT) |
-			  (FIFO_DEPTH  << DP83867_PHYCTRL_TXFIFO_SHIFT));
+			  (dp83867->fifo_depth << DP83867_PHYCTRL_RXFIFO_SHIFT) |
+			  (dp83867->fifo_depth << DP83867_PHYCTRL_TXFIFO_SHIFT));
 		phy_write(phydev, MDIO_DEVAD_NONE, MII_DP83867_BISCR, 0x0);
 	}
 
@@ -212,8 +264,8 @@
 		phy_write_mmd_indirect(phydev, DP83867_RGMIICTL,
 				       DP83867_DEVADDR, phydev->addr, val);
 
-		delay = (RX_ID_DELAY |
-			 (TX_ID_DELAY << DP83867_RGMII_TX_CLK_DELAY_SHIFT));
+		delay = (dp83867->rx_id_delay |
+			 (dp83867->tx_id_delay << DP83867_RGMII_TX_CLK_DELAY_SHIFT));
 
 		phy_write_mmd_indirect(phydev, DP83867_RGMIIDCTL,
 				       DP83867_DEVADDR, phydev->addr, delay);
@@ -221,6 +273,10 @@
 
 	genphy_config_aneg(phydev);
 	return 0;
+
+err_out:
+	kfree(dp83867);
+	return ret;
 }
 
 static struct phy_driver DP83867_driver = {
diff --git a/drivers/net/phy/vitesse.c b/drivers/net/phy/vitesse.c
index 941d076..2635b82 100644
--- a/drivers/net/phy/vitesse.c
+++ b/drivers/net/phy/vitesse.c
@@ -112,10 +112,12 @@
 
 static int vitesse_startup(struct phy_device *phydev)
 {
-	genphy_update_link(phydev);
-	vitesse_parse_status(phydev);
+	int ret;
 
-	return 0;
+	ret = genphy_update_link(phydev);
+	if (ret)
+		return ret;
+	return vitesse_parse_status(phydev);
 }
 
 static int cis8204_config(struct phy_device *phydev)
diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
index 5862bf0..7b85aa0 100644
--- a/drivers/net/xilinx_emaclite.c
+++ b/drivers/net/xilinx_emaclite.c
@@ -250,7 +250,7 @@
 
 static int setup_phy(struct udevice *dev)
 {
-	int i;
+	int i, ret;
 	u16 phyreg;
 	struct xemaclite *emaclite = dev_get_priv(dev);
 	struct phy_device *phydev;
@@ -302,7 +302,9 @@
 	phydev->advertising = supported;
 	emaclite->phydev = phydev;
 	phy_config(phydev);
-	phy_startup(phydev);
+	ret = phy_startup(phydev);
+	if (ret)
+		return ret;
 
 	if (!phydev->link) {
 		printf("%s: No link.\n", phydev->dev->name);
diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c
index aec8077..519699d 100644
--- a/drivers/net/zynq_gem.c
+++ b/drivers/net/zynq_gem.c
@@ -179,6 +179,7 @@
 	struct zynq_gem_regs *iobase;
 	phy_interface_t interface;
 	struct phy_device *phydev;
+	int phy_of_handle;
 	struct mii_dev *bus;
 };
 
@@ -352,14 +353,17 @@
 	priv->phydev->supported = supported | ADVERTISED_Pause |
 				  ADVERTISED_Asym_Pause;
 	priv->phydev->advertising = priv->phydev->supported;
-	phy_config(priv->phydev);
 
-	return 0;
+	if (priv->phy_of_handle > 0)
+		priv->phydev->dev->of_offset = priv->phy_of_handle;
+
+	return phy_config(priv->phydev);
 }
 
 static int zynq_gem_init(struct udevice *dev)
 {
 	u32 i, nwconfig;
+	int ret;
 	unsigned long clk_rate = 0;
 	struct zynq_gem_priv *priv = dev_get_priv(dev);
 	struct zynq_gem_regs *regs = priv->iobase;
@@ -427,7 +431,9 @@
 		priv->init++;
 	}
 
-	phy_startup(priv->phydev);
+	ret = phy_startup(priv->phydev);
+	if (ret)
+		return ret;
 
 	if (!priv->phydev->link) {
 		printf("%s: No link.\n", priv->phydev->dev->name);
@@ -675,7 +681,6 @@
 {
 	struct eth_pdata *pdata = dev_get_platdata(dev);
 	struct zynq_gem_priv *priv = dev_get_priv(dev);
-	int offset = 0;
 	const char *phy_mode;
 
 	pdata->iobase = (phys_addr_t)dev_get_addr(dev);
@@ -684,10 +689,11 @@
 	priv->emio = 0;
 	priv->phyaddr = -1;
 
-	offset = fdtdec_lookup_phandle(gd->fdt_blob, dev->of_offset,
-				       "phy-handle");
-	if (offset > 0)
-		priv->phyaddr = fdtdec_get_int(gd->fdt_blob, offset, "reg", -1);
+	priv->phy_of_handle = fdtdec_lookup_phandle(gd->fdt_blob,
+					dev->of_offset, "phy-handle");
+	if (priv->phy_of_handle > 0)
+		priv->phyaddr = fdtdec_get_int(gd->fdt_blob,
+					priv->phy_of_handle, "reg", -1);
 
 	phy_mode = fdt_getprop(gd->fdt_blob, dev->of_offset, "phy-mode", NULL);
 	if (phy_mode)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 4619089..4b73a0f 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -175,11 +175,7 @@
 	int bus;
 
 	for (hose = pci_get_hose_head(); hose; hose = hose->next) {
-#ifdef CONFIG_SYS_SCSI_SCAN_BUS_REVERSE
-		for (bus = hose->last_busno; bus >= hose->first_busno; bus--) {
-#else
 		for (bus = hose->first_busno; bus <= hose->last_busno; bus++) {
-#endif
 			bdf = pci_hose_find_devices(hose, bus, ids, &index);
 			if (bdf != -1)
 				return bdf;
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 2a69bab..567b766 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -105,6 +105,24 @@
 
 if PINCTRL || SPL_PINCTRL
 
+config AR933X_PINCTRL
+	bool "QCA/Athores ar933x pin control driver"
+	depends on DM && SOC_AR933X
+	help
+	  Support pin multiplexing control on QCA/Athores ar933x SoCs.
+	  The driver is controlled by a device tree node which contains
+	  both the GPIO definitions and pin control functions for each
+	  available multiplex function.
+
+config QCA953X_PINCTRL
+	bool "QCA/Athores qca953x pin control driver"
+	depends on DM && SOC_QCA953X
+	help
+	  Support pin multiplexing control on QCA/Athores qca953x SoCs.
+	  The driver is controlled by a device tree node which contains
+	  both the GPIO definitions and pin control functions for each
+	  available multiplex function.
+
 config ROCKCHIP_PINCTRL
 	bool "Rockchip pin control driver"
 	depends on DM
diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
index 37dc904..b99ed2f 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
@@ -6,6 +6,7 @@
 obj-$(CONFIG_$(SPL_)PINCTRL_GENERIC)	+= pinctrl-generic.o
 
 obj-y					+= nxp/
+obj-$(CONFIG_ARCH_ATH79) += ath79/
 obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/
 obj-$(CONFIG_PINCTRL_SANDBOX)	+= pinctrl-sandbox.o
 
diff --git a/drivers/pinctrl/ath79/Makefile b/drivers/pinctrl/ath79/Makefile
new file mode 100644
index 0000000..dcea10a
--- /dev/null
+++ b/drivers/pinctrl/ath79/Makefile
@@ -0,0 +1,6 @@
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+obj-$(CONFIG_AR933X_PINCTRL) += pinctrl_ar933x.o
+obj-$(CONFIG_QCA953x_PINCTRL) += pinctrl_qca953x.o
diff --git a/drivers/pinctrl/ath79/pinctrl_ar933x.c b/drivers/pinctrl/ath79/pinctrl_ar933x.c
new file mode 100644
index 0000000..e3f64b6
--- /dev/null
+++ b/drivers/pinctrl/ath79/pinctrl_ar933x.c
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <errno.h>
+#include <asm/io.h>
+#include <dm/pinctrl.h>
+#include <mach/ar71xx_regs.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+enum periph_id {
+	PERIPH_ID_UART0,
+	PERIPH_ID_SPI0,
+	PERIPH_ID_NONE = -1,
+};
+
+struct ar933x_pinctrl_priv {
+	void __iomem *regs;
+};
+
+static void pinctrl_ar933x_spi_config(struct ar933x_pinctrl_priv *priv, int cs)
+{
+	switch (cs) {
+	case 0:
+		clrsetbits_be32(priv->regs + AR71XX_GPIO_REG_OE,
+				AR933X_GPIO(4), AR933X_GPIO(3) |
+				AR933X_GPIO(5) | AR933X_GPIO(2));
+		setbits_be32(priv->regs + AR71XX_GPIO_REG_FUNC,
+			     AR933X_GPIO_FUNC_SPI_EN |
+			     AR933X_GPIO_FUNC_RES_TRUE);
+		break;
+	}
+}
+
+static void pinctrl_ar933x_uart_config(struct ar933x_pinctrl_priv *priv, int uart_id)
+{
+	switch (uart_id) {
+	case PERIPH_ID_UART0:
+		clrsetbits_be32(priv->regs + AR71XX_GPIO_REG_OE,
+				AR933X_GPIO(9), AR933X_GPIO(10));
+		setbits_be32(priv->regs + AR71XX_GPIO_REG_FUNC,
+			     AR933X_GPIO_FUNC_UART_EN |
+			     AR933X_GPIO_FUNC_RES_TRUE);
+		break;
+	}
+}
+
+static int ar933x_pinctrl_request(struct udevice *dev, int func, int flags)
+{
+	struct ar933x_pinctrl_priv *priv = dev_get_priv(dev);
+
+	debug("%s: func=%x, flags=%x\n", __func__, func, flags);
+	switch (func) {
+	case PERIPH_ID_SPI0:
+		pinctrl_ar933x_spi_config(priv, flags);
+		break;
+	case PERIPH_ID_UART0:
+		pinctrl_ar933x_uart_config(priv, func);
+		break;
+	default:
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
+static int ar933x_pinctrl_get_periph_id(struct udevice *dev,
+					struct udevice *periph)
+{
+	u32 cell[2];
+	int ret;
+
+	ret = fdtdec_get_int_array(gd->fdt_blob, periph->of_offset,
+				   "interrupts", cell, ARRAY_SIZE(cell));
+	if (ret < 0)
+		return -EINVAL;
+
+	switch (cell[0]) {
+	case 128:
+		return PERIPH_ID_UART0;
+	case 129:
+		return PERIPH_ID_SPI0;
+	}
+	return -ENOENT;
+}
+
+static int ar933x_pinctrl_set_state_simple(struct udevice *dev,
+					   struct udevice *periph)
+{
+	int func;
+
+	func = ar933x_pinctrl_get_periph_id(dev, periph);
+	if (func < 0)
+		return func;
+	return ar933x_pinctrl_request(dev, func, 0);
+}
+
+static struct pinctrl_ops ar933x_pinctrl_ops = {
+	.set_state_simple	= ar933x_pinctrl_set_state_simple,
+	.request	= ar933x_pinctrl_request,
+	.get_periph_id	= ar933x_pinctrl_get_periph_id,
+};
+
+static int ar933x_pinctrl_probe(struct udevice *dev)
+{
+	struct ar933x_pinctrl_priv *priv = dev_get_priv(dev);
+	fdt_addr_t addr;
+
+	addr = dev_get_addr(dev);
+	if (addr == FDT_ADDR_T_NONE)
+		return -EINVAL;
+
+	priv->regs = map_physmem(addr,
+				 AR71XX_GPIO_SIZE,
+				 MAP_NOCACHE);
+	return 0;
+}
+
+static const struct udevice_id ar933x_pinctrl_ids[] = {
+	{ .compatible = "qca,ar933x-pinctrl" },
+	{ }
+};
+
+U_BOOT_DRIVER(pinctrl_ar933x) = {
+	.name		= "pinctrl_ar933x",
+	.id		= UCLASS_PINCTRL,
+	.of_match	= ar933x_pinctrl_ids,
+	.priv_auto_alloc_size = sizeof(struct ar933x_pinctrl_priv),
+	.ops		= &ar933x_pinctrl_ops,
+	.probe		= ar933x_pinctrl_probe,
+};
diff --git a/drivers/pinctrl/ath79/pinctrl_qca953x.c b/drivers/pinctrl/ath79/pinctrl_qca953x.c
new file mode 100644
index 0000000..d02597e
--- /dev/null
+++ b/drivers/pinctrl/ath79/pinctrl_qca953x.c
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <errno.h>
+#include <asm/io.h>
+#include <dm/pinctrl.h>
+#include <mach/ar71xx_regs.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+enum periph_id {
+	PERIPH_ID_UART0,
+	PERIPH_ID_SPI0,
+	PERIPH_ID_NONE = -1,
+};
+
+struct qca953x_pinctrl_priv {
+	void __iomem *regs;
+};
+
+static void pinctrl_qca953x_spi_config(struct qca953x_pinctrl_priv *priv, int cs)
+{
+	switch (cs) {
+	case 0:
+		clrsetbits_be32(priv->regs + AR71XX_GPIO_REG_OE,
+				QCA953X_GPIO(5) | QCA953X_GPIO(6) |
+				QCA953X_GPIO(7), QCA953X_GPIO(8));
+
+		clrsetbits_be32(priv->regs + QCA953X_GPIO_REG_OUT_FUNC1,
+				QCA953X_GPIO_MUX_MASK(8) |
+				QCA953X_GPIO_MUX_MASK(16) |
+				QCA953X_GPIO_MUX_MASK(24),
+				(QCA953X_GPIO_OUT_MUX_SPI_CS0 << 8) |
+				(QCA953X_GPIO_OUT_MUX_SPI_CLK << 16) |
+				(QCA953X_GPIO_OUT_MUX_SPI_MOSI << 24));
+
+		clrsetbits_be32(priv->regs + QCA953X_GPIO_REG_IN_ENABLE0,
+				QCA953X_GPIO_MUX_MASK(0),
+				QCA953X_GPIO_IN_MUX_SPI_DATA_IN);
+
+		setbits_be32(priv->regs + AR71XX_GPIO_REG_OUT,
+			     QCA953X_GPIO(8));
+		break;
+	}
+}
+
+static void pinctrl_qca953x_uart_config(struct qca953x_pinctrl_priv *priv, int uart_id)
+{
+	switch (uart_id) {
+	case PERIPH_ID_UART0:
+		clrsetbits_be32(priv->regs + AR71XX_GPIO_REG_OE,
+				QCA953X_GPIO(9), QCA953X_GPIO(10));
+
+		clrsetbits_be32(priv->regs + QCA953X_GPIO_REG_OUT_FUNC2,
+				QCA953X_GPIO_MUX_MASK(16),
+				QCA953X_GPIO_OUT_MUX_UART0_SOUT << 16);
+
+		clrsetbits_be32(priv->regs + QCA953X_GPIO_REG_IN_ENABLE0,
+				QCA953X_GPIO_MUX_MASK(8),
+				QCA953X_GPIO_IN_MUX_UART0_SIN << 8);
+
+		setbits_be32(priv->regs + AR71XX_GPIO_REG_OUT,
+			     QCA953X_GPIO(10));
+		break;
+	}
+}
+
+static int qca953x_pinctrl_request(struct udevice *dev, int func, int flags)
+{
+	struct qca953x_pinctrl_priv *priv = dev_get_priv(dev);
+
+	debug("%s: func=%x, flags=%x\n", __func__, func, flags);
+	switch (func) {
+	case PERIPH_ID_SPI0:
+		pinctrl_qca953x_spi_config(priv, flags);
+		break;
+	case PERIPH_ID_UART0:
+		pinctrl_qca953x_uart_config(priv, func);
+		break;
+	default:
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
+static int qca953x_pinctrl_get_periph_id(struct udevice *dev,
+					struct udevice *periph)
+{
+	u32 cell[2];
+	int ret;
+
+	ret = fdtdec_get_int_array(gd->fdt_blob, periph->of_offset,
+				   "interrupts", cell, ARRAY_SIZE(cell));
+	if (ret < 0)
+		return -EINVAL;
+
+	switch (cell[0]) {
+	case 128:
+		return PERIPH_ID_UART0;
+	case 129:
+		return PERIPH_ID_SPI0;
+	}
+	return -ENOENT;
+}
+
+static int qca953x_pinctrl_set_state_simple(struct udevice *dev,
+					   struct udevice *periph)
+{
+	int func;
+
+	func = qca953x_pinctrl_get_periph_id(dev, periph);
+	if (func < 0)
+		return func;
+	return qca953x_pinctrl_request(dev, func, 0);
+}
+
+static struct pinctrl_ops qca953x_pinctrl_ops = {
+	.set_state_simple	= qca953x_pinctrl_set_state_simple,
+	.request	= qca953x_pinctrl_request,
+	.get_periph_id	= qca953x_pinctrl_get_periph_id,
+};
+
+static int qca953x_pinctrl_probe(struct udevice *dev)
+{
+	struct qca953x_pinctrl_priv *priv = dev_get_priv(dev);
+	fdt_addr_t addr;
+
+	addr = dev_get_addr(dev);
+	if (addr == FDT_ADDR_T_NONE)
+		return -EINVAL;
+
+	priv->regs = map_physmem(addr,
+				 AR71XX_GPIO_SIZE,
+				 MAP_NOCACHE);
+	return 0;
+}
+
+static const struct udevice_id qca953x_pinctrl_ids[] = {
+	{ .compatible = "qca,qca953x-pinctrl" },
+	{ }
+};
+
+U_BOOT_DRIVER(pinctrl_qca953x) = {
+	.name		= "pinctrl_qca953x",
+	.id		= UCLASS_PINCTRL,
+	.of_match	= qca953x_pinctrl_ids,
+	.priv_auto_alloc_size = sizeof(struct qca953x_pinctrl_priv),
+	.ops		= &qca953x_pinctrl_ops,
+	.probe		= qca953x_pinctrl_probe,
+};
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index a9a5d47..2497ae9 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -89,6 +89,15 @@
 	  You will need to provide parameters to make this work. The driver will
 	  be available until the real driver model serial is running.
 
+config DEBUG_UART_AR933X
+	bool "QCA/Atheros ar933x"
+	depends on AR933X_UART
+	help
+	  Select this to enable a debug UART using the ar933x uart driver.
+	  You will need to provide parameters to make this work. The
+	  driver will be available until the real driver model serial is
+	  running.
+
 config DEBUG_UART_NS16550
 	bool "ns16550"
 	help
@@ -263,6 +272,15 @@
 	  Select this to enable an UART for Altera devices. Please find
 	  details on the "Embedded Peripherals IP User Guide" of Altera.
 
+config AR933X_UART
+	bool "QCA/Atheros ar933x UART support"
+	depends on DM_SERIAL && SOC_AR933X
+	help
+	  Select this to enable UART support for QCA/Atheros ar933x
+	  devices. This driver uses driver model and requires a device
+	  tree binding to operate, please refer to the document at
+	  doc/device-tree-bindings/serial/qca,ar9330-uart.txt.
+
 config FSL_LPUART
 	bool "Freescale LPUART support"
 	help
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index b0ac9d8..9def128 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -17,6 +17,7 @@
 
 obj-$(CONFIG_ALTERA_UART) += altera_uart.o
 obj-$(CONFIG_ALTERA_JTAG_UART) += altera_jtag_uart.o
+obj-$(CONFIG_AR933X_UART) += serial_ar933x.o
 obj-$(CONFIG_ARM_DCC) += arm_dcc.o
 obj-$(CONFIG_ATMEL_USART) += atmel_usart.o
 obj-$(CONFIG_EFI_APP) += serial_efi.o
diff --git a/drivers/serial/mcfuart.c b/drivers/serial/mcfuart.c
index 407354f..059cb0f 100644
--- a/drivers/serial/mcfuart.c
+++ b/drivers/serial/mcfuart.c
@@ -2,6 +2,9 @@
  * (C) Copyright 2004-2007 Freescale Semiconductor, Inc.
  * TsiChung Liew, Tsi-Chung.Liew@freescale.com.
  *
+ * Modified to add device model (DM) support
+ * (C) Copyright 2015  Angelo Dureghello <angelo@sysam.it>
+ *
  * SPDX-License-Identifier:	GPL-2.0+
  */
 
@@ -11,9 +14,10 @@
  */
 
 #include <common.h>
+#include <dm.h>
+#include <dm/platform_data/serial_coldfire.h>
 #include <serial.h>
 #include <linux/compiler.h>
-
 #include <asm/immap.h>
 #include <asm/uart.h>
 
@@ -21,91 +25,110 @@
 
 extern void uart_port_conf(int port);
 
-static int mcf_serial_init(void)
+static int mcf_serial_init_common(uart_t *uart, int port_idx, int baudrate)
 {
-	volatile uart_t *uart;
 	u32 counter;
 
-	uart = (volatile uart_t *)(CONFIG_SYS_UART_BASE);
-
-	uart_port_conf(CONFIG_SYS_UART_PORT);
+	uart_port_conf(port_idx);
 
 	/* write to SICR: SIM2 = uart mode,dcd does not affect rx */
-	uart->ucr = UART_UCR_RESET_RX;
-	uart->ucr = UART_UCR_RESET_TX;
-	uart->ucr = UART_UCR_RESET_ERROR;
-	uart->ucr = UART_UCR_RESET_MR;
+	writeb(UART_UCR_RESET_RX, &uart->ucr);
+	writeb(UART_UCR_RESET_TX, &uart->ucr);
+	writeb(UART_UCR_RESET_ERROR, &uart->ucr);
+	writeb(UART_UCR_RESET_MR, &uart->ucr);
 	__asm__("nop");
 
-	uart->uimr = 0;
+	writeb(0, &uart->uimr);
 
 	/* write to CSR: RX/TX baud rate from timers */
-	uart->ucsr = (UART_UCSR_RCS_SYS_CLK | UART_UCSR_TCS_SYS_CLK);
+	writeb(UART_UCSR_RCS_SYS_CLK | UART_UCSR_TCS_SYS_CLK, &uart->ucsr);
 
-	uart->umr = (UART_UMR_BC_8 | UART_UMR_PM_NONE);
-	uart->umr = UART_UMR_SB_STOP_BITS_1;
+	writeb(UART_UMR_BC_8 | UART_UMR_PM_NONE, &uart->umr);
+	writeb(UART_UMR_SB_STOP_BITS_1, &uart->umr);
 
 	/* Setting up BaudRate */
-	counter = (u32) ((gd->bus_clk / 32) + (gd->baudrate / 2));
-	counter = counter / gd->baudrate;
+	counter = (u32) ((gd->bus_clk / 32) + (baudrate / 2));
+	counter = counter / baudrate;
 
 	/* write to CTUR: divide counter upper byte */
-	uart->ubg1 = (u8) ((counter & 0xff00) >> 8);
+	writeb((u8)((counter & 0xff00) >> 8), &uart->ubg1);
 	/* write to CTLR: divide counter lower byte */
-	uart->ubg2 = (u8) (counter & 0x00ff);
+	writeb((u8)(counter & 0x00ff), &uart->ubg2);
 
-	uart->ucr = (UART_UCR_RX_ENABLED | UART_UCR_TX_ENABLED);
+	writeb(UART_UCR_RX_ENABLED | UART_UCR_TX_ENABLED, &uart->ucr);
 
 	return (0);
 }
 
+static void mcf_serial_setbrg_common(uart_t *uart, int baudrate)
+{
+	u32 counter;
+
+	/* Setting up BaudRate */
+	counter = (u32) ((gd->bus_clk / 32) + (baudrate / 2));
+	counter = counter / baudrate;
+
+	/* write to CTUR: divide counter upper byte */
+	writeb(((counter & 0xff00) >> 8), &uart->ubg1);
+	/* write to CTLR: divide counter lower byte */
+	writeb((counter & 0x00ff), &uart->ubg2);
+
+	writeb(UART_UCR_RESET_RX, &uart->ucr);
+	writeb(UART_UCR_RESET_TX, &uart->ucr);
+
+	writeb(UART_UCR_RX_ENABLED | UART_UCR_TX_ENABLED, &uart->ucr);
+}
+
+#ifndef CONFIG_DM_SERIAL
+
+static int mcf_serial_init(void)
+{
+	uart_t *uart_base;
+	int port_idx;
+
+	uart_base = (uart_t *)CONFIG_SYS_UART_BASE;
+	port_idx = CONFIG_SYS_UART_PORT;
+
+	return mcf_serial_init_common(uart_base, port_idx, gd->baudrate);
+}
+
 static void mcf_serial_putc(const char c)
 {
-	volatile uart_t *uart = (volatile uart_t *)(CONFIG_SYS_UART_BASE);
+	uart_t *uart = (uart_t *)CONFIG_SYS_UART_BASE;
 
 	if (c == '\n')
 		serial_putc('\r');
 
 	/* Wait for last character to go. */
-	while (!(uart->usr & UART_USR_TXRDY)) ;
+	while (!(readb(&uart->usr) & UART_USR_TXRDY))
+		;
 
-	uart->utb = c;
+	writeb(c, &uart->utb);
 }
 
 static int mcf_serial_getc(void)
 {
-	volatile uart_t *uart = (volatile uart_t *)(CONFIG_SYS_UART_BASE);
+	uart_t *uart = (uart_t *)CONFIG_SYS_UART_BASE;
 
 	/* Wait for a character to arrive. */
-	while (!(uart->usr & UART_USR_RXRDY)) ;
-	return uart->urb;
-}
+	while (!(readb(&uart->usr) & UART_USR_RXRDY))
+		;
 
-static int mcf_serial_tstc(void)
-{
-	volatile uart_t *uart = (volatile uart_t *)(CONFIG_SYS_UART_BASE);
-
-	return (uart->usr & UART_USR_RXRDY);
+	return readb(&uart->urb);
 }
 
 static void mcf_serial_setbrg(void)
 {
-	volatile uart_t *uart = (volatile uart_t *)(CONFIG_SYS_UART_BASE);
-	u32 counter;
+	uart_t *uart = (uart_t *)CONFIG_SYS_UART_BASE;
 
-	/* Setting up BaudRate */
-	counter = (u32) ((gd->bus_clk / 32) + (gd->baudrate / 2));
-	counter = counter / gd->baudrate;
+	mcf_serial_setbrg_common(uart, gd->baudrate);
+}
 
-	/* write to CTUR: divide counter upper byte */
-	uart->ubg1 = ((counter & 0xff00) >> 8);
-	/* write to CTLR: divide counter lower byte */
-	uart->ubg2 = (counter & 0x00ff);
+static int mcf_serial_tstc(void)
+{
+	uart_t *uart = (uart_t *)CONFIG_SYS_UART_BASE;
 
-	uart->ucr = UART_UCR_RESET_RX;
-	uart->ucr = UART_UCR_RESET_TX;
-
-	uart->ucr = UART_UCR_RX_ENABLED | UART_UCR_TX_ENABLED;
+	return readb(&uart->usr) & UART_USR_RXRDY;
 }
 
 static struct serial_device mcf_serial_drv = {
@@ -128,3 +151,80 @@
 {
 	return &mcf_serial_drv;
 }
+
+#endif
+
+#ifdef CONFIG_DM_SERIAL
+
+static int coldfire_serial_probe(struct udevice *dev)
+{
+	struct coldfire_serial_platdata *plat = dev->platdata;
+
+	return mcf_serial_init_common((uart_t *)plat->base,
+						plat->port, plat->baudrate);
+}
+
+static int coldfire_serial_putc(struct udevice *dev, const char ch)
+{
+	struct coldfire_serial_platdata *plat = dev->platdata;
+	uart_t *uart = (uart_t *)plat->base;
+
+	/* Wait for last character to go. */
+	if (!(readb(&uart->usr) & UART_USR_TXRDY))
+		return -EAGAIN;
+
+	writeb(ch, &uart->utb);
+
+	return 0;
+}
+
+static int coldfire_serial_getc(struct udevice *dev)
+{
+	struct coldfire_serial_platdata *plat = dev->platdata;
+	uart_t *uart = (uart_t *)(plat->base);
+
+	/* Wait for a character to arrive. */
+	if (!(readb(&uart->usr) & UART_USR_RXRDY))
+		return -EAGAIN;
+
+	return readb(&uart->urb);
+}
+
+int coldfire_serial_setbrg(struct udevice *dev, int baudrate)
+{
+	struct coldfire_serial_platdata *plat = dev->platdata;
+	uart_t *uart = (uart_t *)(plat->base);
+
+	mcf_serial_setbrg_common(uart, baudrate);
+
+	return 0;
+}
+
+static int coldfire_serial_pending(struct udevice *dev, bool input)
+{
+	struct coldfire_serial_platdata *plat = dev->platdata;
+	uart_t *uart = (uart_t *)(plat->base);
+
+	if (input)
+		return readb(&uart->usr) & UART_USR_RXRDY ? 1 : 0;
+	else
+		return readb(&uart->usr) & UART_USR_TXRDY ? 0 : 1;
+
+	return 0;
+}
+
+static const struct dm_serial_ops coldfire_serial_ops = {
+	.putc = coldfire_serial_putc,
+	.pending = coldfire_serial_pending,
+	.getc = coldfire_serial_getc,
+	.setbrg = coldfire_serial_setbrg,
+};
+
+U_BOOT_DRIVER(serial_coldfire) = {
+	.name = "serial_coldfire",
+	.id = UCLASS_SERIAL,
+	.probe = coldfire_serial_probe,
+	.ops = &coldfire_serial_ops,
+	.flags = DM_FLAG_PRE_RELOC,
+};
+#endif
diff --git a/drivers/serial/serial_ar933x.c b/drivers/serial/serial_ar933x.c
new file mode 100644
index 0000000..aae66dc
--- /dev/null
+++ b/drivers/serial/serial_ar933x.c
@@ -0,0 +1,243 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <div64.h>
+#include <errno.h>
+#include <serial.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <dm/pinctrl.h>
+#include <mach/ar71xx_regs.h>
+
+#define AR933X_UART_DATA_REG            0x00
+#define AR933X_UART_CS_REG              0x04
+#define AR933X_UART_CLK_REG             0x08
+
+#define AR933X_UART_DATA_TX_RX_MASK     0xff
+#define AR933X_UART_DATA_RX_CSR         BIT(8)
+#define AR933X_UART_DATA_TX_CSR         BIT(9)
+#define AR933X_UART_CS_IF_MODE_S        2
+#define AR933X_UART_CS_IF_MODE_M        0x3
+#define AR933X_UART_CS_IF_MODE_DTE      1
+#define AR933X_UART_CS_IF_MODE_DCE      2
+#define AR933X_UART_CS_TX_RDY_ORIDE     BIT(7)
+#define AR933X_UART_CS_RX_RDY_ORIDE     BIT(8)
+#define AR933X_UART_CLK_STEP_M          0xffff
+#define AR933X_UART_CLK_SCALE_M         0xfff
+#define AR933X_UART_CLK_SCALE_S         16
+#define AR933X_UART_CLK_STEP_S          0
+
+struct ar933x_serial_priv {
+	void __iomem *regs;
+};
+
+/*
+ * Baudrate algorithm come from Linux/drivers/tty/serial/ar933x_uart.c
+ * baudrate = (clk / (scale + 1)) * (step * (1 / 2^17))
+ */
+static u32 ar933x_serial_get_baud(u32 clk, u32 scale, u32 step)
+{
+	u64 t;
+	u32 div;
+
+	div = (2 << 16) * (scale + 1);
+	t = clk;
+	t *= step;
+	t += (div / 2);
+	do_div(t, div);
+
+	return t;
+}
+
+static void ar933x_serial_get_scale_step(u32 clk, u32 baud,
+					 u32 *scale, u32 *step)
+{
+	u32 tscale, baudrate;
+	long min_diff;
+
+	*scale = 0;
+	*step = 0;
+
+	min_diff = baud;
+	for (tscale = 0; tscale < AR933X_UART_CLK_SCALE_M; tscale++) {
+		u64 tstep;
+		int diff;
+
+		tstep = baud * (tscale + 1);
+		tstep *= (2 << 16);
+		do_div(tstep, clk);
+
+		if (tstep > AR933X_UART_CLK_STEP_M)
+			break;
+
+		baudrate = ar933x_serial_get_baud(clk, tscale, tstep);
+		diff = abs(baudrate - baud);
+		if (diff < min_diff) {
+			min_diff = diff;
+			*scale = tscale;
+			*step = tstep;
+		}
+	}
+}
+
+static int ar933x_serial_setbrg(struct udevice *dev, int baudrate)
+{
+	struct ar933x_serial_priv *priv = dev_get_priv(dev);
+	u32 val, scale, step;
+
+	val = get_serial_clock();
+	ar933x_serial_get_scale_step(val, baudrate, &scale, &step);
+
+	val  = (scale & AR933X_UART_CLK_SCALE_M)
+			<< AR933X_UART_CLK_SCALE_S;
+	val |= (step & AR933X_UART_CLK_STEP_M)
+			<< AR933X_UART_CLK_STEP_S;
+	writel(val, priv->regs + AR933X_UART_CLK_REG);
+
+	return 0;
+}
+
+static int ar933x_serial_putc(struct udevice *dev, const char c)
+{
+	struct ar933x_serial_priv *priv = dev_get_priv(dev);
+	u32 data;
+
+	data = readl(priv->regs + AR933X_UART_DATA_REG);
+	if (!(data & AR933X_UART_DATA_TX_CSR))
+		return -EAGAIN;
+
+	data  = (u32)c | AR933X_UART_DATA_TX_CSR;
+	writel(data, priv->regs + AR933X_UART_DATA_REG);
+
+	return 0;
+}
+
+static int ar933x_serial_getc(struct udevice *dev)
+{
+	struct ar933x_serial_priv *priv = dev_get_priv(dev);
+	u32 data;
+
+	data = readl(priv->regs + AR933X_UART_DATA_REG);
+	if (!(data & AR933X_UART_DATA_RX_CSR))
+		return -EAGAIN;
+
+	writel(AR933X_UART_DATA_RX_CSR, priv->regs + AR933X_UART_DATA_REG);
+	return data & AR933X_UART_DATA_TX_RX_MASK;
+}
+
+static int ar933x_serial_pending(struct udevice *dev, bool input)
+{
+	struct ar933x_serial_priv *priv = dev_get_priv(dev);
+	u32 data;
+
+	data = readl(priv->regs + AR933X_UART_DATA_REG);
+	if (input)
+		return (data & AR933X_UART_DATA_RX_CSR) ? 1 : 0;
+	else
+		return (data & AR933X_UART_DATA_TX_CSR) ? 0 : 1;
+}
+
+static int ar933x_serial_probe(struct udevice *dev)
+{
+	struct ar933x_serial_priv *priv = dev_get_priv(dev);
+	fdt_addr_t addr;
+	u32 val;
+
+	addr = dev_get_addr(dev);
+	if (addr == FDT_ADDR_T_NONE)
+		return -EINVAL;
+
+	priv->regs = map_physmem(addr, AR933X_UART_SIZE,
+				 MAP_NOCACHE);
+
+	/*
+	 * UART controller configuration:
+	 * - no DMA
+	 * - no interrupt
+	 * - DCE mode
+	 * - no flow control
+	 * - set RX ready oride
+	 * - set TX ready oride
+	 */
+	val = (AR933X_UART_CS_IF_MODE_DCE << AR933X_UART_CS_IF_MODE_S) |
+	      AR933X_UART_CS_TX_RDY_ORIDE | AR933X_UART_CS_RX_RDY_ORIDE;
+	writel(val, priv->regs + AR933X_UART_CS_REG);
+	return 0;
+}
+
+static const struct dm_serial_ops ar933x_serial_ops = {
+	.putc = ar933x_serial_putc,
+	.pending = ar933x_serial_pending,
+	.getc = ar933x_serial_getc,
+	.setbrg = ar933x_serial_setbrg,
+};
+
+static const struct udevice_id ar933x_serial_ids[] = {
+	{ .compatible = "qca,ar9330-uart" },
+	{ }
+};
+
+U_BOOT_DRIVER(serial_ar933x) = {
+	.name   = "serial_ar933x",
+	.id = UCLASS_SERIAL,
+	.of_match = ar933x_serial_ids,
+	.priv_auto_alloc_size = sizeof(struct ar933x_serial_priv),
+	.probe = ar933x_serial_probe,
+	.ops    = &ar933x_serial_ops,
+	.flags = DM_FLAG_PRE_RELOC,
+};
+
+#ifdef CONFIG_DEBUG_UART_AR933X
+
+#include <debug_uart.h>
+
+static inline void _debug_uart_init(void)
+{
+	void __iomem *regs = (void *)CONFIG_DEBUG_UART_BASE;
+	u32 val, scale, step;
+
+	/*
+	 * UART controller configuration:
+	 * - no DMA
+	 * - no interrupt
+	 * - DCE mode
+	 * - no flow control
+	 * - set RX ready oride
+	 * - set TX ready oride
+	 */
+	val = (AR933X_UART_CS_IF_MODE_DCE << AR933X_UART_CS_IF_MODE_S) |
+	      AR933X_UART_CS_TX_RDY_ORIDE | AR933X_UART_CS_RX_RDY_ORIDE;
+	writel(val, regs + AR933X_UART_CS_REG);
+
+	ar933x_serial_get_scale_step(CONFIG_DEBUG_UART_CLOCK,
+				     CONFIG_BAUDRATE, &scale, &step);
+
+	val  = (scale & AR933X_UART_CLK_SCALE_M)
+			<< AR933X_UART_CLK_SCALE_S;
+	val |= (step & AR933X_UART_CLK_STEP_M)
+			<< AR933X_UART_CLK_STEP_S;
+	writel(val, regs + AR933X_UART_CLK_REG);
+}
+
+static inline void _debug_uart_putc(int c)
+{
+	void __iomem *regs = (void *)CONFIG_DEBUG_UART_BASE;
+	u32 data;
+
+	do {
+		data = readl(regs + AR933X_UART_DATA_REG);
+	} while (!(data & AR933X_UART_DATA_TX_CSR));
+
+	data  = (u32)c | AR933X_UART_DATA_TX_CSR;
+	writel(data, regs + AR933X_UART_DATA_REG);
+}
+
+DEBUG_UART_FUNCS
+
+#endif
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index f0258f8..b7fd8e5 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -23,6 +23,15 @@
 	  IP core. Please find details on the "Embedded Peripherals IP
 	  User Guide" of Altera.
 
+config ATH79_SPI
+	bool "Atheros SPI driver"
+	depends on ARCH_ATH79
+	help
+	  Enable the Atheros ar7xxx/ar9xxx SoC SPI driver, it was used
+	  to access SPI NOR flash and other SPI peripherals. This driver
+	  uses driver model and requires a device tree binding to operate.
+	  please refer to doc/device-tree-bindings/spi/spi-ath79.txt.
+
 config CADENCE_QSPI
 	bool "Cadence QSPI driver"
 	help
diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
index 3eca745..7fb2926 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
@@ -17,6 +17,7 @@
 
 obj-$(CONFIG_ALTERA_SPI) += altera_spi.o
 obj-$(CONFIG_ARMADA100_SPI) += armada100_spi.o
+obj-$(CONFIG_ATH79_SPI) += ath79_spi.o
 obj-$(CONFIG_ATMEL_DATAFLASH_SPI) += atmel_dataflash_spi.o
 obj-$(CONFIG_ATMEL_SPI) += atmel_spi.o
 obj-$(CONFIG_BFIN_SPI) += bfin_spi.o
diff --git a/drivers/spi/ath79_spi.c b/drivers/spi/ath79_spi.c
new file mode 100644
index 0000000..b18c733
--- /dev/null
+++ b/drivers/spi/ath79_spi.c
@@ -0,0 +1,228 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <spi.h>
+#include <dm.h>
+#include <div64.h>
+#include <errno.h>
+#include <asm/io.h>
+#include <asm/addrspace.h>
+#include <asm/types.h>
+#include <dm/pinctrl.h>
+#include <mach/ar71xx_regs.h>
+
+/* CLOCK_DIVIDER = 3 (SPI clock = 200 / 8 ~ 25 MHz) */
+#define ATH79_SPI_CLK_DIV(x)           (((x) >> 1) - 1)
+#define ATH79_SPI_RRW_DELAY_FACTOR     12000
+#define ATH79_SPI_MHZ                  (1000 * 1000)
+
+struct ath79_spi_priv {
+	void __iomem *regs;
+	u32 rrw_delay;
+};
+
+static void spi_cs_activate(struct udevice *dev)
+{
+	struct udevice *bus = dev_get_parent(dev);
+	struct ath79_spi_priv *priv = dev_get_priv(bus);
+
+	writel(AR71XX_SPI_FS_GPIO, priv->regs + AR71XX_SPI_REG_FS);
+	writel(AR71XX_SPI_IOC_CS_ALL, priv->regs + AR71XX_SPI_REG_IOC);
+}
+
+static void spi_cs_deactivate(struct udevice *dev)
+{
+	struct udevice *bus = dev_get_parent(dev);
+	struct ath79_spi_priv *priv = dev_get_priv(bus);
+
+	writel(AR71XX_SPI_IOC_CS_ALL, priv->regs + AR71XX_SPI_REG_IOC);
+	writel(0, priv->regs + AR71XX_SPI_REG_FS);
+}
+
+static int ath79_spi_claim_bus(struct udevice *dev)
+{
+	return 0;
+}
+
+static int ath79_spi_release_bus(struct udevice *dev)
+{
+	return 0;
+}
+
+static int ath79_spi_xfer(struct udevice *dev, unsigned int bitlen,
+		const void *dout, void *din, unsigned long flags)
+{
+	struct udevice *bus = dev_get_parent(dev);
+	struct ath79_spi_priv *priv = dev_get_priv(bus);
+	struct dm_spi_slave_platdata *slave = dev_get_parent_platdata(dev);
+	u8 *rx = din;
+	const u8 *tx = dout;
+	u8 curbyte, curbitlen, restbits;
+	u32 bytes = bitlen / 8;
+	u32 out, in;
+	u64 tick;
+
+	if (flags & SPI_XFER_BEGIN)
+		spi_cs_activate(dev);
+
+	restbits = (bitlen % 8);
+	if (restbits)
+		bytes++;
+
+	out = AR71XX_SPI_IOC_CS_ALL & ~(AR71XX_SPI_IOC_CS(slave->cs));
+	while (bytes > 0) {
+		bytes--;
+		curbyte = 0;
+		if (tx)
+			curbyte = *tx++;
+
+		if (restbits && !bytes) {
+			curbitlen = restbits;
+			curbyte <<= 8 - restbits;
+		} else {
+			curbitlen = 8;
+		}
+
+		for (curbyte <<= (8 - curbitlen); curbitlen; curbitlen--) {
+			if (curbyte & 0x80)
+				out |= AR71XX_SPI_IOC_DO;
+			else
+				out &= ~(AR71XX_SPI_IOC_DO);
+
+			writel(out, priv->regs + AR71XX_SPI_REG_IOC);
+
+			/* delay for low level */
+			if (priv->rrw_delay) {
+				tick = get_ticks() + priv->rrw_delay;
+				while (get_ticks() < tick)
+					/*NOP*/;
+			}
+
+			writel(out | AR71XX_SPI_IOC_CLK,
+			       priv->regs + AR71XX_SPI_REG_IOC);
+
+			/* delay for high level */
+			if (priv->rrw_delay) {
+				tick = get_ticks() + priv->rrw_delay;
+				while (get_ticks() < tick)
+					/*NOP*/;
+			}
+
+			curbyte <<= 1;
+		}
+
+		if (!bytes)
+			writel(out, priv->regs + AR71XX_SPI_REG_IOC);
+
+		in = readl(priv->regs + AR71XX_SPI_REG_RDS);
+		if (rx) {
+			if (restbits && !bytes)
+				*rx++ = (in << (8 - restbits));
+			else
+				*rx++ = in;
+		}
+	}
+
+	if (flags & SPI_XFER_END)
+		spi_cs_deactivate(dev);
+
+	return 0;
+}
+
+
+static int ath79_spi_set_speed(struct udevice *bus, uint speed)
+{
+	struct ath79_spi_priv *priv = dev_get_priv(bus);
+	u32 val, div = 0;
+	u64 time;
+
+	if (speed)
+		div = get_bus_freq(0) / speed;
+
+	if (div > 63)
+		div = 63;
+
+	if (div < 5)
+		div = 5;
+
+	/* calculate delay */
+	time = get_tbclk();
+	do_div(time, speed / 2);
+	val = get_bus_freq(0) / ATH79_SPI_MHZ;
+	val = ATH79_SPI_RRW_DELAY_FACTOR / val;
+	if (time > val)
+		priv->rrw_delay = time - val + 1;
+	else
+		priv->rrw_delay = 0;
+
+	writel(AR71XX_SPI_FS_GPIO, priv->regs + AR71XX_SPI_REG_FS);
+	clrsetbits_be32(priv->regs + AR71XX_SPI_REG_CTRL,
+			AR71XX_SPI_CTRL_DIV_MASK,
+			ATH79_SPI_CLK_DIV(div));
+	writel(0, priv->regs + AR71XX_SPI_REG_FS);
+	return 0;
+}
+
+static int ath79_spi_set_mode(struct udevice *bus, uint mode)
+{
+	return 0;
+}
+
+static int ath79_spi_probe(struct udevice *bus)
+{
+	struct ath79_spi_priv *priv = dev_get_priv(bus);
+	fdt_addr_t addr;
+
+	addr = dev_get_addr(bus);
+	if (addr == FDT_ADDR_T_NONE)
+		return -EINVAL;
+
+	priv->regs = map_physmem(addr,
+				 AR71XX_SPI_SIZE,
+				 MAP_NOCACHE);
+
+	/* Init SPI Hardware, disable remap, set clock */
+	writel(AR71XX_SPI_FS_GPIO, priv->regs + AR71XX_SPI_REG_FS);
+	writel(AR71XX_SPI_CTRL_RD | ATH79_SPI_CLK_DIV(8),
+	       priv->regs + AR71XX_SPI_REG_CTRL);
+	writel(0, priv->regs + AR71XX_SPI_REG_FS);
+
+	return 0;
+}
+
+static int ath79_cs_info(struct udevice *bus, uint cs,
+			   struct spi_cs_info *info)
+{
+	/* Always allow activity on CS 0/1/2 */
+	if (cs >= 3)
+		return -ENODEV;
+
+	return 0;
+}
+
+static const struct dm_spi_ops ath79_spi_ops = {
+	.claim_bus  = ath79_spi_claim_bus,
+	.release_bus    = ath79_spi_release_bus,
+	.xfer       = ath79_spi_xfer,
+	.set_speed  = ath79_spi_set_speed,
+	.set_mode   = ath79_spi_set_mode,
+	.cs_info    = ath79_cs_info,
+};
+
+static const struct udevice_id ath79_spi_ids[] = {
+	{ .compatible = "qca,ar7100-spi" },
+	{}
+};
+
+U_BOOT_DRIVER(ath79_spi) = {
+	.name   = "ath79_spi",
+	.id = UCLASS_SPI,
+	.of_match = ath79_spi_ids,
+	.ops    = &ath79_spi_ops,
+	.priv_auto_alloc_size = sizeof(struct ath79_spi_priv),
+	.probe  = ath79_spi_probe,
+};
diff --git a/drivers/spi/omap3_spi.c b/drivers/spi/omap3_spi.c
index 2fe34c9..60e9d6e 100644
--- a/drivers/spi/omap3_spi.c
+++ b/drivers/spi/omap3_spi.c
@@ -35,6 +35,12 @@
 #define OMAP3_MCSPI4_BASE	0x480BA000
 #endif
 
+#define OMAP4_MCSPI_REG_OFFSET	0x100
+
+struct omap2_mcspi_platform_config {
+	unsigned int regs_offset;
+};
+
 /* per-register bitmasks */
 #define OMAP3_MCSPI_SYSCONFIG_SMARTIDLE (2 << 3)
 #define OMAP3_MCSPI_SYSCONFIG_ENAWAKEUP BIT(2)
@@ -623,7 +629,10 @@
 	const void *blob = gd->fdt_blob;
 	int node = dev->of_offset;
 
-	priv->regs = (struct mcspi *)dev_get_addr(dev);
+	struct omap2_mcspi_platform_config* data =
+		(struct omap2_mcspi_platform_config*)dev_get_driver_data(dev);
+
+	priv->regs = (struct mcspi *)(dev_get_addr(dev) + data->regs_offset);
 	priv->pin_dir = fdtdec_get_uint(blob, node, "ti,pindir-d0-out-d1-in",
 					    MCSPI_PINDIR_D0_IN_D1_OUT);
 	priv->wordlen = SPI_DEFAULT_WORDLEN;
@@ -662,9 +671,17 @@
 	 */
 };
 
+static struct omap2_mcspi_platform_config omap2_pdata = {
+	.regs_offset = 0,
+};
+
+static struct omap2_mcspi_platform_config omap4_pdata = {
+	.regs_offset = OMAP4_MCSPI_REG_OFFSET,
+};
+
 static const struct udevice_id omap3_spi_ids[] = {
-	{ .compatible = "ti,omap2-mcspi" },
-	{ .compatible = "ti,omap4-mcspi" },
+	{ .compatible = "ti,omap2-mcspi", .data = (ulong)&omap2_pdata },
+	{ .compatible = "ti,omap4-mcspi", .data = (ulong)&omap4_pdata },
 	{ }
 };
 
diff --git a/drivers/spi/soft_spi.c b/drivers/spi/soft_spi.c
index aa4abcc..d23dc81 100644
--- a/drivers/spi/soft_spi.c
+++ b/drivers/spi/soft_spi.c
@@ -26,15 +26,20 @@
 	struct gpio_desc mosi;
 	struct gpio_desc miso;
 	int spi_delay_us;
+	int flags;
 };
 
+#define SPI_MASTER_NO_RX        BIT(0)
+#define SPI_MASTER_NO_TX        BIT(1)
+
 struct soft_spi_priv {
 	unsigned int mode;
 };
 
 static int soft_spi_scl(struct udevice *dev, int bit)
 {
-	struct soft_spi_platdata *plat = dev->platdata;
+	struct udevice *bus = dev_get_parent(dev);
+	struct soft_spi_platdata *plat = dev_get_platdata(bus);
 
 	dm_gpio_set_value(&plat->sclk, bit);
 
@@ -43,7 +48,8 @@
 
 static int soft_spi_sda(struct udevice *dev, int bit)
 {
-	struct soft_spi_platdata *plat = dev->platdata;
+	struct udevice *bus = dev_get_parent(dev);
+	struct soft_spi_platdata *plat = dev_get_platdata(bus);
 
 	dm_gpio_set_value(&plat->mosi, bit);
 
@@ -52,7 +58,8 @@
 
 static int soft_spi_cs_activate(struct udevice *dev)
 {
-	struct soft_spi_platdata *plat = dev->platdata;
+	struct udevice *bus = dev_get_parent(dev);
+	struct soft_spi_platdata *plat = dev_get_platdata(bus);
 
 	dm_gpio_set_value(&plat->cs, 0);
 	dm_gpio_set_value(&plat->sclk, 0);
@@ -63,7 +70,8 @@
 
 static int soft_spi_cs_deactivate(struct udevice *dev)
 {
-	struct soft_spi_platdata *plat = dev->platdata;
+	struct udevice *bus = dev_get_parent(dev);
+	struct soft_spi_platdata *plat = dev_get_platdata(bus);
 
 	dm_gpio_set_value(&plat->cs, 0);
 
@@ -100,8 +108,9 @@
 static int soft_spi_xfer(struct udevice *dev, unsigned int bitlen,
 			 const void *dout, void *din, unsigned long flags)
 {
-	struct soft_spi_priv *priv = dev_get_priv(dev);
-	struct soft_spi_platdata *plat = dev->platdata;
+	struct udevice *bus = dev_get_parent(dev);
+	struct soft_spi_priv *priv = dev_get_priv(bus);
+	struct soft_spi_platdata *plat = dev_get_platdata(bus);
 	uchar		tmpdin  = 0;
 	uchar		tmpdout = 0;
 	const u8	*txd = dout;
@@ -134,14 +143,16 @@
 
 		if (!cpha)
 			soft_spi_scl(dev, 0);
-		soft_spi_sda(dev, tmpdout & 0x80);
+		if ((plat->flags & SPI_MASTER_NO_TX) == 0)
+			soft_spi_sda(dev, !!(tmpdout & 0x80));
 		udelay(plat->spi_delay_us);
 		if (cpha)
 			soft_spi_scl(dev, 0);
 		else
 			soft_spi_scl(dev, 1);
 		tmpdin	<<= 1;
-		tmpdin	|= dm_gpio_get_value(&plat->miso);
+		if ((plat->flags & SPI_MASTER_NO_RX) == 0)
+			tmpdin	|= dm_gpio_get_value(&plat->miso);
 		tmpdout	<<= 1;
 		udelay(plat->spi_delay_us);
 		if (cpha)
@@ -203,24 +214,36 @@
 	struct spi_slave *slave = dev_get_parent_priv(dev);
 	struct soft_spi_platdata *plat = dev->platdata;
 	int cs_flags, clk_flags;
+	int ret;
 
 	cs_flags = (slave->mode & SPI_CS_HIGH) ? 0 : GPIOD_ACTIVE_LOW;
 	clk_flags = (slave->mode & SPI_CPOL) ? GPIOD_ACTIVE_LOW : 0;
-	if (gpio_request_by_name(dev, "cs-gpio", 0, &plat->cs,
+
+	if (gpio_request_by_name(dev, "cs-gpios", 0, &plat->cs,
 				 GPIOD_IS_OUT | cs_flags) ||
-	    gpio_request_by_name(dev, "sclk-gpio", 0, &plat->sclk,
-				 GPIOD_IS_OUT | clk_flags) ||
-	    gpio_request_by_name(dev, "mosi-gpio", 0, &plat->mosi,
-				 GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE) ||
-	    gpio_request_by_name(dev, "miso-gpio", 0, &plat->miso,
-				 GPIOD_IS_IN))
+	    gpio_request_by_name(dev, "gpio-sck", 0, &plat->sclk,
+				 GPIOD_IS_OUT | clk_flags))
+		return -EINVAL;
+
+	ret = gpio_request_by_name(dev, "gpio-mosi", 0, &plat->mosi,
+				   GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
+	if (ret)
+		plat->flags |= SPI_MASTER_NO_TX;
+
+	ret = gpio_request_by_name(dev, "gpio-miso", 0, &plat->miso,
+				   GPIOD_IS_IN);
+	if (ret)
+		plat->flags |= SPI_MASTER_NO_RX;
+
+	if ((plat->flags & (SPI_MASTER_NO_RX | SPI_MASTER_NO_TX)) ==
+	    (SPI_MASTER_NO_RX | SPI_MASTER_NO_TX))
 		return -EINVAL;
 
 	return 0;
 }
 
 static const struct udevice_id soft_spi_ids[] = {
-	{ .compatible = "u-boot,soft-spi" },
+	{ .compatible = "spi-gpio" },
 	{ }
 };
 
diff --git a/drivers/spi/spi-uclass.c b/drivers/spi/spi-uclass.c
index 5561f36..84b6786 100644
--- a/drivers/spi/spi-uclass.c
+++ b/drivers/spi/spi-uclass.c
@@ -45,12 +45,12 @@
 	return 0;
 }
 
-int spi_claim_bus(struct spi_slave *slave)
+int dm_spi_claim_bus(struct udevice *dev)
 {
-	struct udevice *dev = slave->dev;
 	struct udevice *bus = dev->parent;
 	struct dm_spi_ops *ops = spi_get_ops(bus);
 	struct dm_spi_bus *spi = dev_get_uclass_priv(bus);
+	struct spi_slave *slave = dev_get_parent_priv(dev);
 	int speed;
 	int ret;
 
@@ -73,9 +73,8 @@
 	return ops->claim_bus ? ops->claim_bus(dev) : 0;
 }
 
-void spi_release_bus(struct spi_slave *slave)
+void dm_spi_release_bus(struct udevice *dev)
 {
-	struct udevice *dev = slave->dev;
 	struct udevice *bus = dev->parent;
 	struct dm_spi_ops *ops = spi_get_ops(bus);
 
@@ -83,10 +82,9 @@
 		ops->release_bus(dev);
 }
 
-int spi_xfer(struct spi_slave *slave, unsigned int bitlen,
-	     const void *dout, void *din, unsigned long flags)
+int dm_spi_xfer(struct udevice *dev, unsigned int bitlen,
+		const void *dout, void *din, unsigned long flags)
 {
-	struct udevice *dev = slave->dev;
 	struct udevice *bus = dev->parent;
 
 	if (bus->uclass->uc_drv->id != UCLASS_SPI)
@@ -95,6 +93,22 @@
 	return spi_get_ops(bus)->xfer(dev, bitlen, dout, din, flags);
 }
 
+int spi_claim_bus(struct spi_slave *slave)
+{
+	return dm_spi_claim_bus(slave->dev);
+}
+
+void spi_release_bus(struct spi_slave *slave)
+{
+	dm_spi_release_bus(slave->dev);
+}
+
+int spi_xfer(struct spi_slave *slave, unsigned int bitlen,
+	     const void *dout, void *din, unsigned long flags)
+{
+	return dm_spi_xfer(slave->dev, bitlen, dout, din, flags);
+}
+
 static int spi_post_bind(struct udevice *dev)
 {
 	/* Scan the bus for devices */
diff --git a/drivers/usb/common/Makefile b/drivers/usb/common/Makefile
index 2f3d43d..2f46d38 100644
--- a/drivers/usb/common/Makefile
+++ b/drivers/usb/common/Makefile
@@ -3,5 +3,6 @@
 # SPDX-License-Identifier:      GPL-2.0+
 #
 
+obj-$(CONFIG_DM_USB) += common.o
 obj-$(CONFIG_USB_EHCI_FSL) += fsl-dt-fixup.o
 obj-$(CONFIG_USB_XHCI_FSL) += fsl-dt-fixup.o
diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c
new file mode 100644
index 0000000..35c2dc1
--- /dev/null
+++ b/drivers/usb/common/common.c
@@ -0,0 +1,40 @@
+/*
+ * Provides code common for host and device side USB.
+ *
+ * (C) Copyright 2016
+ *     Texas Instruments Incorporated, <www.ti.com>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <common.h>
+#include <libfdt.h>
+#include <linux/usb/otg.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static const char *const usb_dr_modes[] = {
+	[USB_DR_MODE_UNKNOWN]		= "",
+	[USB_DR_MODE_HOST]		= "host",
+	[USB_DR_MODE_PERIPHERAL]	= "peripheral",
+	[USB_DR_MODE_OTG]		= "otg",
+};
+
+enum usb_dr_mode usb_get_dr_mode(int node)
+{
+	const void *fdt = gd->fdt_blob;
+	const char *dr_mode;
+	int i;
+
+	dr_mode = fdt_getprop(fdt, node, "dr_mode", NULL);
+	if (!dr_mode) {
+		error("usb dr_mode not found\n");
+		return USB_DR_MODE_UNKNOWN;
+	}
+
+	for (i = 0; i < ARRAY_SIZE(usb_dr_modes); i++)
+		if (!strcmp(dr_mode, usb_dr_modes[i]))
+			return i;
+
+	return USB_DR_MODE_UNKNOWN;
+}
diff --git a/drivers/video/ipu_common.c b/drivers/video/ipu_common.c
index 36d4b23..5676a0f 100644
--- a/drivers/video/ipu_common.c
+++ b/drivers/video/ipu_common.c
@@ -352,7 +352,9 @@
 	 */
 	__raw_writel((div / 16) << 16, DI_BS_CLKGEN1(clk->id));
 
-	clk->rate = (u64)(clk->parent->rate * 16) / div;
+	do_div(parent_rate, div);
+
+	clk->rate = parent_rate;
 
 	return 0;
 }
diff --git a/drivers/video/tegra.c b/drivers/video/tegra.c
index 7fd10e6..c01809e 100644
--- a/drivers/video/tegra.c
+++ b/drivers/video/tegra.c
@@ -620,6 +620,13 @@
 static int tegra_lcd_bind(struct udevice *dev)
 {
 	struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+	const void *blob = gd->fdt_blob;
+	int node = dev->of_offset;
+	int rgb;
+
+	rgb = fdt_subnode_offset(blob, node, "rgb");
+	if ((rgb < 0) || !fdtdec_get_is_enabled(blob, rgb))
+		return -ENODEV;
 
 	plat->size = LCD_MAX_WIDTH * LCD_MAX_HEIGHT *
 		(1 << LCD_MAX_LOG2_BPP) / 8;
diff --git a/dts/Kconfig b/dts/Kconfig
index d585009..c56c129 100644
--- a/dts/Kconfig
+++ b/dts/Kconfig
@@ -62,6 +62,7 @@
 config OF_LIST
 	string "List of device tree files to include for DT control"
 	depends on SPL_LOAD_FIT
+	default DEFAULT_DEVICE_TREE
 	help
 	  This option specifies a list of device tree files to use for DT
 	  control. These will be packaged into a FIT. At run-time, SPL will
diff --git a/examples/api/Makefile b/examples/api/Makefile
index 4e9b8ea..6cffee7 100644
--- a/examples/api/Makefile
+++ b/examples/api/Makefile
@@ -11,8 +11,12 @@
 LOAD_ADDR = 0x1000000
 endif
 ifeq ($(ARCH),mips)
+ifdef CONFIG_64BIT
+LOAD_ADDR = 0xffffffff80200000
+else
 LOAD_ADDR = 0x80200000
 endif
+endif
 
 # Resulting ELF and binary exectuables will be named demo and demo.bin
 extra-y = demo
diff --git a/examples/api/crt0.S b/examples/api/crt0.S
index ced2c82..5a7049d 100644
--- a/examples/api/crt0.S
+++ b/examples/api/crt0.S
@@ -41,28 +41,29 @@
 	ldr	pc, [ip]
 
 #elif defined(CONFIG_MIPS)
+#include <asm/asm.h>
 	.text
 	.globl __start
 	.ent __start
 __start:
-	sw	$sp, search_hint
+	PTR_S	$sp, search_hint
 	b	main
 	.end __start
 
 	.globl syscall
 	.ent syscall
 syscall:
-	sw	$ra, return_addr
-	lw	$t9, syscall_ptr
+	PTR_S	$ra, return_addr
+	PTR_L	$t9, syscall_ptr
 	jalr	$t9
 	nop
-	lw	$ra, return_addr
+	PTR_L	$ra, return_addr
 	jr	$ra
 	nop
 	.end syscall
 
 return_addr:
-	.align 4
+	.align 8
 	.long 0
 #else
 #error No support for this arch!
@@ -70,7 +71,7 @@
 
 	.globl syscall_ptr
 syscall_ptr:
-	.align	4
+	.align	8
 	.long	0
 
 	.globl search_hint
diff --git a/examples/api/glue.c b/examples/api/glue.c
index d619518..8aabf32 100644
--- a/examples/api/glue.c
+++ b/examples/api/glue.c
@@ -77,7 +77,7 @@
 {
 	int c;
 
-	if (!syscall(API_GETC, NULL, (uint32_t)&c))
+	if (!syscall(API_GETC, NULL, &c))
 		return -1;
 
 	return c;
@@ -87,7 +87,7 @@
 {
 	int t;
 
-	if (!syscall(API_TSTC, NULL, (uint32_t)&t))
+	if (!syscall(API_TSTC, NULL, &t))
 		return -1;
 
 	return t;
@@ -95,12 +95,12 @@
 
 void ub_putc(char c)
 {
-	syscall(API_PUTC, NULL, (uint32_t)&c);
+	syscall(API_PUTC, NULL, &c);
 }
 
 void ub_puts(const char *s)
 {
-	syscall(API_PUTS, NULL, (uint32_t)s);
+	syscall(API_PUTS, NULL, s);
 }
 
 /****************************************
@@ -126,7 +126,7 @@
 	si.mr_no = UB_MAX_MR;
 	memset(&mr, 0, sizeof(mr));
 
-	if (!syscall(API_GET_SYS_INFO, &err, (u_int32_t)&si))
+	if (!syscall(API_GET_SYS_INFO, &err, &si))
 		return NULL;
 
 	return ((err) ? NULL : &si);
@@ -344,7 +344,7 @@
 {
 	char *value;
 
-	if (!syscall(API_ENV_GET, NULL, (uint32_t)name, (uint32_t)&value))
+	if (!syscall(API_ENV_GET, NULL, name, &value))
 		return NULL;
 
 	return value;
@@ -352,7 +352,7 @@
 
 void ub_env_set(const char *name, char *value)
 {
-	syscall(API_ENV_SET, NULL, (uint32_t)name, (uint32_t)value);
+	syscall(API_ENV_SET, NULL, name, value);
 }
 
 static char env_name[256];
@@ -369,7 +369,7 @@
 	 * 'name=val' string), since the API_ENUM_ENV call uses envmatch()
 	 * internally, which handles such case
 	 */
-	if (!syscall(API_ENV_ENUM, NULL, (uint32_t)last, (uint32_t)&env))
+	if (!syscall(API_ENV_ENUM, NULL, last, &env))
 		return NULL;
 
 	if (!env)
@@ -396,7 +396,7 @@
 {
 	int err = 0;
 
-	if (!syscall(API_DISPLAY_GET_INFO, &err, (uint32_t)type, (uint32_t)di))
+	if (!syscall(API_DISPLAY_GET_INFO, &err, type, di))
 		return API_ESYSC;
 
 	return err;
diff --git a/examples/standalone/stubs.c b/examples/standalone/stubs.c
index 920a0a9..0d62067 100644
--- a/examples/standalone/stubs.c
+++ b/examples/standalone/stubs.c
@@ -65,6 +65,23 @@
 	: : "i"(offsetof(gd_t, jt)), "i"(FO(x)) : "ip");
 #endif
 #elif defined(CONFIG_MIPS)
+#ifdef CONFIG_CPU_MIPS64
+/*
+ * k0 ($26) holds the pointer to the global_data; t9 ($25) is a call-
+ * clobbered register that is also used to set gp ($26). Note that the
+ * jr instruction also executes the instruction immediately following
+ * it; however, GCC/mips generates an additional `nop' after each asm
+ * statement
+ */
+#define EXPORT_FUNC(f, a, x, ...) \
+	asm volatile (			\
+"	.globl " #x "\n"		\
+#x ":\n"				\
+"	ld	$25, %0($26)\n"		\
+"	ld	$25, %1($25)\n"		\
+"	jr	$25\n"			\
+        : : "i"(offsetof(gd_t, jt)), "i"(FO(x)) : "t9");
+#else
 /*
  * k0 ($26) holds the pointer to the global_data; t9 ($25) is a call-
  * clobbered register that is also used to set gp ($26). Note that the
@@ -80,6 +97,7 @@
 "	lw	$25, %1($25)\n"		\
 "	jr	$25\n"			\
 	: : "i"(offsetof(gd_t, jt)), "i"(FO(x)) : "t9");
+#endif
 #elif defined(CONFIG_NIOS2)
 /*
  * gp holds the pointer to the global_data, r8 is call-clobbered
diff --git a/fs/fat/fat.c b/fs/fat/fat.c
index 600a90e..826bd85 100644
--- a/fs/fat/fat.c
+++ b/fs/fat/fat.c
@@ -1254,7 +1254,7 @@
 
 #if defined(CONFIG_CMD_IDE) || \
     defined(CONFIG_CMD_SATA) || \
-    defined(CONFIG_CMD_SCSI) || \
+    defined(CONFIG_SCSI) || \
     defined(CONFIG_CMD_USB) || \
     defined(CONFIG_MMC)
 	printf("Interface:  ");
diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
index 68b5f0b..2500c10 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
@@ -207,6 +207,16 @@
 struct fdtdec_phandle_args;
 
 /**
+ * gpio_xlate_offs_flags() - implementation for common use of dm_gpio_ops.xlate
+ *
+ * This routine sets the offset field to args[0] and the flags field to
+ * GPIOD_ACTIVE_LOW if the GPIO_ACTIVE_LOW flag is present in args[1].
+ *
+ */
+int gpio_xlate_offs_flags(struct udevice *dev, struct gpio_desc *desc,
+			  struct fdtdec_phandle_args *args);
+
+/**
  * struct struct dm_gpio_ops - Driver model GPIO operations
  *
  * Refer to functions above for description. These function largely copy
@@ -258,12 +268,11 @@
 	 *
 	 *   @desc->dev to @dev
 	 *   @desc->flags to 0
-	 *   @desc->offset to the value of the first argument in args, if any,
-	 *		otherwise -1 (which is invalid)
+	 *   @desc->offset to 0
 	 *
-	 * This method is optional so if the above defaults suit it can be
-	 * omitted. Typical behaviour is to set up the GPIOD_ACTIVE_LOW flag
-	 * in desc->flags.
+	 * This method is optional and defaults to gpio_xlate_offs_flags,
+	 * which will parse offset and the GPIO_ACTIVE_LOW flag in the first
+	 * two arguments.
 	 *
 	 * Note that @dev is passed in as a parameter to follow driver model
 	 * uclass conventions, even though it is already available as
diff --git a/include/ata.h b/include/ata.h
index 9d6f59c..dde377c 100644
--- a/include/ata.h
+++ b/include/ata.h
@@ -126,7 +126,7 @@
 
 #define ATA_BLOCKSIZE	512	/* bytes */
 #define ATA_BLOCKSHIFT	9	/* 2 ^ ATA_BLOCKSIZESHIFT = 512 */
-#define ATA_SECTORWORDS	(512 / sizeof(unsigned long))
+#define ATA_SECTORWORDS	(512 / sizeof(uint32_t))
 
 #ifndef ATA_RESET_TIME
 #define ATA_RESET_TIME	60	/* spec allows up to 31 seconds */
diff --git a/include/blk.h b/include/blk.h
index f624671..66a1c55 100644
--- a/include/blk.h
+++ b/include/blk.h
@@ -30,6 +30,7 @@
 	IF_TYPE_SD,
 	IF_TYPE_SATA,
 	IF_TYPE_HOST,
+	IF_TYPE_SYSTEMACE,
 
 	IF_TYPE_COUNT,			/* Number of interface types */
 };
@@ -62,6 +63,11 @@
 	char		product[20+1];	/* IDE Serial no, SCSI product */
 	char		revision[8+1];	/* firmware revision */
 #ifdef CONFIG_BLK
+	/*
+	 * For now we have a few functions which take struct blk_desc as a
+	 * parameter. This field allows them to look up the associated
+	 * device. Once these functions are removed we can drop this field.
+	 */
 	struct udevice *bdev;
 #else
 	unsigned long	(*block_read)(struct blk_desc *block_dev,
@@ -210,6 +216,25 @@
 	 */
 	unsigned long (*erase)(struct udevice *dev, lbaint_t start,
 			       lbaint_t blkcnt);
+
+	/**
+	 * select_hwpart() - select a particular hardware partition
+	 *
+	 * Some devices (e.g. MMC) can support partitioning at the hardware
+	 * level. This is quite separate from the normal idea of
+	 * software-based partitions. MMC hardware partitions must be
+	 * explicitly selected. Once selected only the region of the device
+	 * covered by that partition is accessible.
+	 *
+	 * The MMC standard provides for two boot partitions (numbered 1 and 2),
+	 * rpmb (3), and up to 4 addition general-purpose partitions (4-7).
+	 *
+	 * @desc:	Block device to update
+	 * @hwpart:	Hardware partition number to select. 0 means the raw
+	 *		device, 1 is the first partition, 2 is the second, etc.
+	 * @return 0 if OK, -ve on error
+	 */
+	int (*select_hwpart)(struct udevice *dev, int hwpart);
 };
 
 #define blk_get_ops(dev)	((struct blk_ops *)(dev)->driver->ops)
@@ -269,7 +294,8 @@
  * @drv_name:	Driver name to use for the block device
  * @name:	Name for the device
  * @if_type:	Interface type (enum if_type_t)
- * @devnum:	Device number, specific to the interface type
+ * @devnum:	Device number, specific to the interface type, or -1 to
+ *		allocate the next available number
  * @blksz:	Block size of the device in bytes (typically 512)
  * @size:	Total size of the device in bytes
  * @devp:	the new device (which has not been probed)
@@ -279,6 +305,23 @@
 		      lbaint_t size, struct udevice **devp);
 
 /**
+ * blk_create_devicef() - Create a new named block device
+ *
+ * @parent:	Parent of the new device
+ * @drv_name:	Driver name to use for the block device
+ * @name:	Name for the device (parent name is prepended)
+ * @if_type:	Interface type (enum if_type_t)
+ * @devnum:	Device number, specific to the interface type, or -1 to
+ *		allocate the next available number
+ * @blksz:	Block size of the device in bytes (typically 512)
+ * @size:	Total size of the device in bytes
+ * @devp:	the new device (which has not been probed)
+ */
+int blk_create_devicef(struct udevice *parent, const char *drv_name,
+		       const char *name, int if_type, int devnum, int blksz,
+		       lbaint_t size, struct udevice **devp);
+
+/**
  * blk_prepare_device() - Prepare a block device for use
  *
  * This reads partition information from the device if supported.
@@ -298,6 +341,29 @@
  */
 int blk_unbind_all(int if_type);
 
+/**
+ * blk_find_max_devnum() - find the maximum device number for an interface type
+ *
+ * Finds the last allocated device number for an interface type @if_type. The
+ * next number is safe to use for a newly allocated device.
+ *
+ * @if_type:	Interface type to scan
+ * @return maximum device number found, or -ENODEV if none, or other -ve on
+ * error
+ */
+int blk_find_max_devnum(enum if_type if_type);
+
+/**
+ * blk_select_hwpart() - select a hardware partition
+ *
+ * Select a hardware partition if the device supports it (typically MMC does)
+ *
+ * @dev:	Device to update
+ * @hwpart:	Partition number to select
+ * @return 0 if OK, -ve on error
+ */
+int blk_select_hwpart(struct udevice *dev, int hwpart);
+
 #else
 #include <errno.h>
 /*
@@ -340,6 +406,201 @@
 	blkcache_invalidate(block_dev->if_type, block_dev->devnum);
 	return block_dev->block_erase(block_dev, start, blkcnt);
 }
+
+/**
+ * struct blk_driver - Driver for block interface types
+ *
+ * This provides access to the block devices for each interface type. One
+ * driver should be provided using U_BOOT_LEGACY_BLK() for each interface
+ * type that is to be supported.
+ *
+ * @if_typename:	Interface type name
+ * @if_type:		Interface type
+ * @max_devs:		Maximum number of devices supported
+ * @desc:		Pointer to list of devices for this interface type,
+ *			or NULL to use @get_dev() instead
+ */
+struct blk_driver {
+	const char *if_typename;
+	enum if_type if_type;
+	int max_devs;
+	struct blk_desc *desc;
+	/**
+	 * get_dev() - get a pointer to a block device given its number
+	 *
+	 * Each interface allocates its own devices and typically
+	 * struct blk_desc is contained with the interface's data structure.
+	 * There is no global numbering for block devices. This method allows
+	 * the device for an interface type to be obtained when @desc is NULL.
+	 *
+	 * @devnum:	Device number (0 for first device on that interface,
+	 *		1 for second, etc.
+	 * @descp:	Returns pointer to the block device on success
+	 * @return 0 if OK, -ve on error
+	 */
+	int (*get_dev)(int devnum, struct blk_desc **descp);
+
+	/**
+	 * select_hwpart() - Select a hardware partition
+	 *
+	 * Some devices (e.g. MMC) can support partitioning at the hardware
+	 * level. This is quite separate from the normal idea of
+	 * software-based partitions. MMC hardware partitions must be
+	 * explicitly selected. Once selected only the region of the device
+	 * covered by that partition is accessible.
+	 *
+	 * The MMC standard provides for two boot partitions (numbered 1 and 2),
+	 * rpmb (3), and up to 4 addition general-purpose partitions (4-7).
+	 * Partition 0 is the main user-data partition.
+	 *
+	 * @desc:	Block device descriptor
+	 * @hwpart:	Hardware partition number to select. 0 means the main
+	 *		user-data partition, 1 is the first partition, 2 is
+	 *		the second, etc.
+	 * @return 0 if OK, other value for an error
+	 */
+	int (*select_hwpart)(struct blk_desc *desc, int hwpart);
+};
+
+/*
+ * Declare a new U-Boot legacy block driver. New drivers should use driver
+ * model (UCLASS_BLK).
+ */
+#define U_BOOT_LEGACY_BLK(__name)					\
+	ll_entry_declare(struct blk_driver, __name, blk_driver)
+
+struct blk_driver *blk_driver_lookup_type(int if_type);
+
 #endif /* !CONFIG_BLK */
 
+/**
+ * blk_get_devnum_by_typename() - Get a block device by type and number
+ *
+ * This looks through the available block devices of the given type, returning
+ * the one with the given @devnum.
+ *
+ * @if_type:	Block device type
+ * @devnum:	Device number
+ * @return point to block device descriptor, or NULL if not found
+ */
+struct blk_desc *blk_get_devnum_by_type(enum if_type if_type, int devnum);
+
+/**
+ * blk_get_devnum_by_type() - Get a block device by type name, and number
+ *
+ * This looks up the block device type based on @if_typename, then calls
+ * blk_get_devnum_by_type().
+ *
+ * @if_typename:	Block device type name
+ * @devnum:		Device number
+ * @return point to block device descriptor, or NULL if not found
+ */
+struct blk_desc *blk_get_devnum_by_typename(const char *if_typename,
+					    int devnum);
+
+/**
+ * blk_dselect_hwpart() - select a hardware partition
+ *
+ * This selects a hardware partition (such as is supported by MMC). The block
+ * device size may change as this effectively points the block device to a
+ * partition at the hardware level. See the select_hwpart() method above.
+ *
+ * @desc:	Block device descriptor for the device to select
+ * @hwpart:	Partition number to select
+ * @return 0 if OK, -ve on error
+ */
+int blk_dselect_hwpart(struct blk_desc *desc, int hwpart);
+
+/**
+ * blk_list_part() - list the partitions for block devices of a given type
+ *
+ * This looks up the partition type for each block device of type @if_type,
+ * then displays a list of partitions.
+ *
+ * @if_type:	Block device type
+ * @return 0 if OK, -ENODEV if there is none of that type
+ */
+int blk_list_part(enum if_type if_type);
+
+/**
+ * blk_list_devices() - list the block devices of a given type
+ *
+ * This lists each block device of the type @if_type, showing the capacity
+ * as well as type-specific information.
+ *
+ * @if_type:	Block device type
+ */
+void blk_list_devices(enum if_type if_type);
+
+/**
+ * blk_show_device() - show information about a given block device
+ *
+ * This shows the block device capacity as well as type-specific information.
+ *
+ * @if_type:	Block device type
+ * @devnum:	Device number
+ * @return 0 if OK, -ENODEV for invalid device number
+ */
+int blk_show_device(enum if_type if_type, int devnum);
+
+/**
+ * blk_print_device_num() - show information about a given block device
+ *
+ * This is similar to blk_show_device() but returns an error if the block
+ * device type is unknown.
+ *
+ * @if_type:	Block device type
+ * @devnum:	Device number
+ * @return 0 if OK, -ENODEV for invalid device number, -ENOENT if the block
+ * device is not connected
+ */
+int blk_print_device_num(enum if_type if_type, int devnum);
+
+/**
+ * blk_print_part_devnum() - print the partition information for a device
+ *
+ * @if_type:	Block device type
+ * @devnum:	Device number
+ * @return 0 if OK, -ENOENT if the block device is not connected, -ENOSYS if
+ * the interface type is not supported, other -ve on other error
+ */
+int blk_print_part_devnum(enum if_type if_type, int devnum);
+
+/**
+ * blk_read_devnum() - read blocks from a device
+ *
+ * @if_type:	Block device type
+ * @devnum:	Device number
+ * @blkcnt:	Number of blocks to read
+ * @buffer:	Address to write data to
+ * @return number of blocks read, or -ve error number on error
+ */
+ulong blk_read_devnum(enum if_type if_type, int devnum, lbaint_t start,
+		      lbaint_t blkcnt, void *buffer);
+
+/**
+ * blk_write_devnum() - write blocks to a device
+ *
+ * @if_type:	Block device type
+ * @devnum:	Device number
+ * @blkcnt:	Number of blocks to write
+ * @buffer:	Address to read data from
+ * @return number of blocks written, or -ve error number on error
+ */
+ulong blk_write_devnum(enum if_type if_type, int devnum, lbaint_t start,
+		       lbaint_t blkcnt, const void *buffer);
+
+/**
+ * blk_select_hwpart_devnum() - select a hardware partition
+ *
+ * This is similar to blk_dselect_hwpart() but it looks up the interface and
+ * device number.
+ *
+ * @if_type:	Block device type
+ * @devnum:	Device number
+ * @hwpart:	Partition number to select
+ * @return 0 if OK, -ve on error
+ */
+int blk_select_hwpart_devnum(enum if_type if_type, int devnum, int hwpart);
+
 #endif
diff --git a/include/bootstage.h b/include/bootstage.h
index 9765360..0880a68 100644
--- a/include/bootstage.h
+++ b/include/bootstage.h
@@ -198,6 +198,7 @@
 	BOOTSTAGE_ID_ACCUM_SCSI,
 	BOOTSTAGE_ID_ACCUM_SPI,
 	BOOTSTAGE_ID_ACCUM_DECOMP,
+	BOOTSTAGE_ID_FPGA_INIT,
 
 	/* a few spare for the user, from here */
 	BOOTSTAGE_ID_USER,
diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h
index ed502a1..b5fd6c6 100644
--- a/include/config_cmd_all.h
+++ b/include/config_cmd_all.h
@@ -45,7 +45,7 @@
 #define CONFIG_CMD_READ		/* Read data from partition	*/
 #define CONFIG_CMD_SANDBOX	/* sb command to access sandbox features */
 #define CONFIG_CMD_SAVES	/* save S record dump		*/
-#define CONFIG_CMD_SCSI		/* SCSI Support			*/
+#define CONFIG_SCSI		/* SCSI Support			*/
 #define CONFIG_CMD_SDRAM	/* SDRAM DIMM SPD info printout */
 #define CONFIG_CMD_TERMINAL	/* built-in Serial Terminal	*/
 #define CONFIG_CMD_UBI		/* UBI Support			*/
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
index 7f67344..5a8d7f2 100644
--- a/include/config_distro_bootcmd.h
+++ b/include/config_distro_bootcmd.h
@@ -165,7 +165,7 @@
 	BOOT_TARGET_DEVICES_references_SATA_without_CONFIG_CMD_SATA
 #endif
 
-#ifdef CONFIG_CMD_SCSI
+#ifdef CONFIG_SCSI
 #define BOOTENV_RUN_SCSI_INIT "run scsi_init; "
 #define BOOTENV_SET_SCSI_NEED_INIT "setenv scsi_need_init; "
 #define BOOTENV_SHARED_SCSI \
@@ -185,9 +185,9 @@
 #define BOOTENV_SET_SCSI_NEED_INIT
 #define BOOTENV_SHARED_SCSI
 #define BOOTENV_DEV_SCSI \
-	BOOT_TARGET_DEVICES_references_SCSI_without_CONFIG_CMD_SCSI
+	BOOT_TARGET_DEVICES_references_SCSI_without_CONFIG_SCSI
 #define BOOTENV_DEV_NAME_SCSI \
-	BOOT_TARGET_DEVICES_references_SCSI_without_CONFIG_CMD_SCSI
+	BOOT_TARGET_DEVICES_references_SCSI_without_CONFIG_SCSI
 #endif
 
 #ifdef CONFIG_CMD_IDE
diff --git a/include/config_fallbacks.h b/include/config_fallbacks.h
index 2666191..2ad54b7 100644
--- a/include/config_fallbacks.h
+++ b/include/config_fallbacks.h
@@ -45,7 +45,7 @@
 /* Rather than repeat this expression each time, add a define for it */
 #if defined(CONFIG_CMD_IDE) || \
 	defined(CONFIG_CMD_SATA) || \
-	defined(CONFIG_CMD_SCSI) || \
+	defined(CONFIG_SCSI) || \
 	defined(CONFIG_CMD_USB) || \
 	defined(CONFIG_CMD_PART) || \
 	defined(CONFIG_CMD_GPT) || \
diff --git a/include/configs/MPC8544DS.h b/include/configs/MPC8544DS.h
index 26d92da..f3036c1 100644
--- a/include/configs/MPC8544DS.h
+++ b/include/configs/MPC8544DS.h
@@ -373,7 +373,7 @@
 
 #if defined(CONFIG_PCI)
     #define CONFIG_CMD_PCI
-    #define CONFIG_CMD_SCSI
+    #define CONFIG_SCSI
 #endif
 
 /*
diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h
index 8c4e5e2..bb7f38e 100644
--- a/include/configs/MPC8572DS.h
+++ b/include/configs/MPC8572DS.h
@@ -576,7 +576,7 @@
 
 #if defined(CONFIG_PCI)
 #define CONFIG_CMD_PCI
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #endif
 
 /*
diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h
index e7f01d0..f6d45a9 100644
--- a/include/configs/MPC8610HPCD.h
+++ b/include/configs/MPC8610HPCD.h
@@ -449,7 +449,7 @@
 
 #if defined(CONFIG_PCI)
 #define CONFIG_CMD_PCI
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #endif
 
 #define CONFIG_WATCHDOG			/* watchdog enabled */
diff --git a/include/configs/MPC8641HPCN.h b/include/configs/MPC8641HPCN.h
index 2f94c82..9b2623c 100644
--- a/include/configs/MPC8641HPCN.h
+++ b/include/configs/MPC8641HPCN.h
@@ -354,8 +354,6 @@
 
 #define CONFIG_PCI_SCAN_SHOW		/* show pci devices on startup */
 
-#undef CONFIG_SYS_SCSI_SCAN_BUS_REVERSE
-
 #define CONFIG_PCI_PNP			/* do pci plug-and-play */
 
 #undef CONFIG_EEPRO100
@@ -612,7 +610,7 @@
 
 #if defined(CONFIG_PCI)
     #define CONFIG_CMD_PCI
-    #define CONFIG_CMD_SCSI
+    #define CONFIG_SCSI
 #endif
 
 #undef CONFIG_WATCHDOG			/* watchdog disabled */
diff --git a/include/configs/PIP405.h b/include/configs/PIP405.h
index 4bd06a4..4506d86 100644
--- a/include/configs/PIP405.h
+++ b/include/configs/PIP405.h
@@ -43,7 +43,7 @@
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_REGINFO
 #define CONFIG_CMD_FDC
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #define CONFIG_CMD_DATE
 #define CONFIG_CMD_SDRAM
 #define CONFIG_CMD_SAVES
diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h
index 32d7d4d..d53b0fd 100644
--- a/include/configs/am57xx_evm.h
+++ b/include/configs/am57xx_evm.h
@@ -75,7 +75,7 @@
 
 /* SATA */
 #define CONFIG_BOARD_LATE_INIT
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #define CONFIG_LIBATA
 #define CONFIG_SCSI_AHCI
 #define CONFIG_SCSI_AHCI_PLAT
diff --git a/include/configs/ap121.h b/include/configs/ap121.h
new file mode 100644
index 0000000..2beffa4
--- /dev/null
+++ b/include/configs/ap121.h
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#define CONFIG_SYS_TEXT_BASE            0x9f000000
+
+#define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_DISPLAY_BOARDINFO
+#define CONFIG_BOARD_EARLY_INIT_F
+
+#define CONFIG_SYS_HZ                   1000
+#define CONFIG_SYS_MHZ                  200
+#define CONFIG_SYS_MIPS_TIMER_FREQ      (CONFIG_SYS_MHZ * 1000000)
+
+/* Cache Configuration */
+#define CONFIG_SYS_DCACHE_SIZE          0x8000
+#define CONFIG_SYS_ICACHE_SIZE          0x10000
+#define CONFIG_SYS_CACHELINE_SIZE       32
+
+#define CONFIG_SYS_MONITOR_BASE         CONFIG_SYS_TEXT_BASE
+
+#define CONFIG_SYS_MALLOC_LEN           0x40000
+#define CONFIG_SYS_BOOTPARAMS_LEN       0x20000
+
+#define CONFIG_SYS_SDRAM_BASE           0x80000000
+#define CONFIG_SYS_LOAD_ADDR            0x81000000
+
+#define CONFIG_SYS_NO_FLASH
+
+#define CONFIG_SYS_INIT_RAM_ADDR        0xbd000000
+#define CONFIG_SYS_INIT_RAM_SIZE        0x8000
+#define CONFIG_SYS_INIT_SP_ADDR \
+	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE - 1)
+
+#define CONFIG_BAUDRATE                 115200
+#define CONFIG_SYS_BAUDRATE_TABLE \
+	{9600, 19200, 38400, 57600, 115200}
+
+#define CONFIG_BOOTDELAY                3
+#define CONFIG_BOOTARGS                 "console=ttyS0,115200 " \
+					"root=/dev/mtdblock2 " \
+					"rootfstype=squashfs"
+#define CONFIG_BOOTCOMMAND              "sf probe;" \
+					"mtdparts default;" \
+					"bootm 0x9f300000"
+#define CONFIG_LZMA
+
+#define MTDIDS_DEFAULT                  "nor0=spi-flash.0"
+#define MTDPARTS_DEFAULT                "mtdparts=spi-flash.0:" \
+					"256k(u-boot),64k(u-boot-env)," \
+					"2752k(rootfs),896k(uImage)," \
+					"64k(NVRAM),64k(ART)"
+
+#define CONFIG_ENV_SPI_MAX_HZ           25000000
+#define CONFIG_ENV_IS_IN_SPI_FLASH
+#define CONFIG_ENV_OFFSET               0x40000
+#define CONFIG_ENV_SECT_SIZE            0x10000
+#define CONFIG_ENV_SIZE                 0x10000
+
+/*
+ * Command
+ */
+#define CONFIG_CMD_MTDPARTS
+
+/* Miscellaneous configurable options */
+#define CONFIG_SYS_CBSIZE               256
+#define CONFIG_SYS_MAXARGS              16
+#define CONFIG_SYS_PBSIZE               (CONFIG_SYS_CBSIZE + \
+					sizeof(CONFIG_SYS_PROMPT) + 16)
+#define CONFIG_SYS_LONGHELP
+#define CONFIG_CMDLINE_EDITING
+#define CONFIG_AUTO_COMPLETE
+
+/*
+ * Diagnostics
+ */
+#define CONFIG_SYS_MEMTEST_START        0x80100000
+#define CONFIG_SYS_MEMTEST_END          0x83f00000
+#define CONFIG_CMD_MEMTEST
+
+#endif  /* __CONFIG_H */
diff --git a/include/configs/ap143.h b/include/configs/ap143.h
new file mode 100644
index 0000000..7b69e10
--- /dev/null
+++ b/include/configs/ap143.h
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2015-2016 Wills Wang <wills.wang@live.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#define CONFIG_SYS_TEXT_BASE            0x9f000000
+
+#define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_DISPLAY_BOARDINFO
+#define CONFIG_BOARD_EARLY_INIT_F
+
+#define CONFIG_SYS_HZ                   1000
+#define CONFIG_SYS_MHZ                  325
+#define CONFIG_SYS_MIPS_TIMER_FREQ      (CONFIG_SYS_MHZ * 1000000)
+
+/* Cache Configuration */
+#define CONFIG_SYS_DCACHE_SIZE          0x8000
+#define CONFIG_SYS_ICACHE_SIZE          0x10000
+#define CONFIG_SYS_CACHELINE_SIZE       32
+
+#define CONFIG_SYS_MONITOR_BASE         CONFIG_SYS_TEXT_BASE
+
+#define CONFIG_SYS_MALLOC_LEN           0x40000
+#define CONFIG_SYS_BOOTPARAMS_LEN       0x20000
+
+#define CONFIG_SYS_SDRAM_BASE           0x80000000
+#define CONFIG_SYS_LOAD_ADDR            0x81000000
+
+#define CONFIG_SYS_NO_FLASH
+
+#define CONFIG_SYS_INIT_RAM_ADDR        0xbd000000
+#define CONFIG_SYS_INIT_RAM_SIZE        0x2000
+#define CONFIG_SYS_INIT_SP_ADDR \
+	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE - 1)
+
+/*
+ * Serial Port
+ */
+#define CONFIG_SYS_NS16550_CLK          25000000
+#define CONFIG_BAUDRATE                 115200
+#define CONFIG_SYS_BAUDRATE_TABLE \
+	{9600, 19200, 38400, 57600, 115200}
+
+#define CONFIG_BOOTDELAY                3
+#define CONFIG_BOOTARGS                 "console=ttyS0,115200 " \
+					"root=/dev/mtdblock2 " \
+					"rootfstype=squashfs"
+#define CONFIG_BOOTCOMMAND              "sf probe;" \
+					"mtdparts default;" \
+					"bootm 0x9f300000"
+#define CONFIG_LZMA
+
+#define MTDIDS_DEFAULT                  "nor0=spi-flash.0"
+#define MTDPARTS_DEFAULT                "mtdparts=spi-flash.0:" \
+					"256k(u-boot),64k(u-boot-env)," \
+					"2752k(rootfs),896k(uImage)," \
+					"64k(NVRAM),64k(ART)"
+
+#define CONFIG_ENV_SPI_MAX_HZ           25000000
+#define CONFIG_ENV_IS_IN_SPI_FLASH
+#define CONFIG_ENV_OFFSET               0x40000
+#define CONFIG_ENV_SECT_SIZE            0x10000
+#define CONFIG_ENV_SIZE                 0x10000
+
+/*
+ * Command
+ */
+#define CONFIG_CMD_MTDPARTS
+
+/* Miscellaneous configurable options */
+#define CONFIG_SYS_CBSIZE               256
+#define CONFIG_SYS_MAXARGS              16
+#define CONFIG_SYS_PBSIZE               (CONFIG_SYS_CBSIZE + \
+					sizeof(CONFIG_SYS_PROMPT) + 16)
+#define CONFIG_SYS_LONGHELP
+#define CONFIG_CMDLINE_EDITING
+#define CONFIG_AUTO_COMPLETE
+
+/*
+ * Diagnostics
+ */
+#define CONFIG_SYS_MEMTEST_START        0x80100000
+#define CONFIG_SYS_MEMTEST_END          0x83f00000
+#define CONFIG_CMD_MEMTEST
+
+#endif  /* __CONFIG_H */
diff --git a/include/configs/axs101.h b/include/configs/axs101.h
index 1bd4729..05d2d45 100644
--- a/include/configs/axs101.h
+++ b/include/configs/axs101.h
@@ -59,7 +59,6 @@
  * I2C configuration
  */
 #define CONFIG_SYS_I2C
-#define CONFIG_SYS_I2C_DW
 #define CONFIG_I2C_ENV_EEPROM_BUS	2
 #define CONFIG_SYS_I2C_SPEED		100000
 #define CONFIG_SYS_I2C_SPEED1		100000
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
index 9a12552..1f20ec3 100644
--- a/include/configs/cm_fx6.h
+++ b/include/configs/cm_fx6.h
@@ -255,4 +255,15 @@
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
 
+/* EEPROM */
+#define CONFIG_CMD_EEPROM
+#define CONFIG_ENV_EEPROM_IS_ON_I2C
+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	4
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	5
+#define CONFIG_SYS_EEPROM_SIZE			256
+
+#define CONFIG_CMD_EEPROM_LAYOUT
+#define CONFIG_EEPROM_LAYOUT_HELP_STRING "v2, v3"
+
 #endif	/* __CONFIG_CM_FX6_H */
diff --git a/include/configs/cm_t335.h b/include/configs/cm_t335.h
index c4f1d4f..6dbc9e9 100644
--- a/include/configs/cm_t335.h
+++ b/include/configs/cm_t335.h
@@ -165,6 +165,17 @@
 #define STATUS_LED_PERIOD		(CONFIG_SYS_HZ / 2)
 #define STATUS_LED_BOOT			0
 
+/* EEPROM */
+#define CONFIG_CMD_EEPROM
+#define CONFIG_ENV_EEPROM_IS_ON_I2C
+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	4
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	5
+#define CONFIG_SYS_EEPROM_SIZE			256
+
+#define CONFIG_CMD_EEPROM_LAYOUT
+#define CONFIG_EEPROM_LAYOUT_HELP_STRING "v2, v3"
+
 #ifndef CONFIG_SPL_BUILD
 /*
  * Enable PCA9555 at I2C0-0x26.
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index 5d58116..0fb8530 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -361,4 +361,15 @@
 #define CONFIG_SYS_SPL_MALLOC_START	0x80208000
 #define CONFIG_SYS_SPL_MALLOC_SIZE	0x100000
 
+/* EEPROM */
+#define CONFIG_CMD_EEPROM
+#define CONFIG_ENV_EEPROM_IS_ON_I2C
+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	4
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	5
+#define CONFIG_SYS_EEPROM_SIZE			256
+
+#define CONFIG_CMD_EEPROM_LAYOUT
+#define CONFIG_EEPROM_LAYOUT_HELP_STRING "legacy, v1, v2, v3"
+
 #endif /* __CONFIG_H */
diff --git a/include/configs/cm_t3517.h b/include/configs/cm_t3517.h
index 7cedb67..7c087c6 100644
--- a/include/configs/cm_t3517.h
+++ b/include/configs/cm_t3517.h
@@ -305,4 +305,15 @@
 
 #define CONFIG_OMAP3_SPI
 
+/* EEPROM */
+#define CONFIG_CMD_EEPROM
+#define CONFIG_ENV_EEPROM_IS_ON_I2C
+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	4
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	5
+#define CONFIG_SYS_EEPROM_SIZE			256
+
+#define CONFIG_CMD_EEPROM_LAYOUT
+#define CONFIG_EEPROM_LAYOUT_HELP_STRING "v1, v2, v3"
+
 #endif /* __CONFIG_H */
diff --git a/include/configs/cm_t43.h b/include/configs/cm_t43.h
index ee818ed..c2dbd31 100644
--- a/include/configs/cm_t43.h
+++ b/include/configs/cm_t43.h
@@ -170,4 +170,15 @@
 #define CONFIG_SPL_I2C_SUPPORT
 #define CONFIG_SPL_POWER_SUPPORT
 
+/* EEPROM */
+#define CONFIG_CMD_EEPROM
+#define CONFIG_ENV_EEPROM_IS_ON_I2C
+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	4
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	5
+#define CONFIG_SYS_EEPROM_SIZE			256
+
+#define CONFIG_CMD_EEPROM_LAYOUT
+#define CONFIG_EEPROM_LAYOUT_HELP_STRING "v2, v3"
+
 #endif	/* __CONFIG_CM_T43_H */
diff --git a/include/configs/cm_t54.h b/include/configs/cm_t54.h
index 9b13aa6..ff63d7a 100644
--- a/include/configs/cm_t54.h
+++ b/include/configs/cm_t54.h
@@ -60,7 +60,7 @@
 #define CONFIG_SPL_SATA_BOOT_DEVICE		0
 #define CONFIG_SYS_SATA_FAT_BOOT_PARTITION	1
 
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #define CONFIG_LIBATA
 #define CONFIG_SCSI_AHCI
 #define CONFIG_SCSI_AHCI_PLAT
@@ -81,6 +81,17 @@
 
 /* Enabled commands */
 
+/* EEPROM */
+#define CONFIG_CMD_EEPROM
+#define CONFIG_ENV_EEPROM_IS_ON_I2C
+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	4
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	5
+#define CONFIG_SYS_EEPROM_SIZE			256
+
+#define CONFIG_CMD_EEPROM_LAYOUT
+#define CONFIG_EEPROM_LAYOUT_HELP_STRING "v2, v3"
+
 /* USB Networking options */
 #define CONFIG_USB_HOST_ETHER
 #define CONFIG_USB_ETHER_SMSC95XX
diff --git a/include/configs/db-88f6820-gp.h b/include/configs/db-88f6820-gp.h
index d84dde3..3539a62 100644
--- a/include/configs/db-88f6820-gp.h
+++ b/include/configs/db-88f6820-gp.h
@@ -27,7 +27,7 @@
 #define CONFIG_SYS_NO_FLASH		/* Declare no flash (NOR/SPI) */
 #define CONFIG_CMD_ENV
 #define CONFIG_CMD_PCI
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 
 /* I2C */
 #define CONFIG_SYS_I2C
diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h
index 79b6c09..8a0cd66 100644
--- a/include/configs/dra7xx_evm.h
+++ b/include/configs/dra7xx_evm.h
@@ -230,7 +230,7 @@
 
 /* SATA */
 #define CONFIG_BOARD_LATE_INIT
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #define CONFIG_LIBATA
 #define CONFIG_SCSI_AHCI
 #define CONFIG_SCSI_AHCI_PLAT
diff --git a/include/configs/efi-x86.h b/include/configs/efi-x86.h
index 6dd0b32..95e46c5 100644
--- a/include/configs/efi-x86.h
+++ b/include/configs/efi-x86.h
@@ -18,7 +18,7 @@
 #undef CONFIG_VIDEO
 #undef CONFIG_CFB_CONSOLE
 #undef CONFIG_SCSI_AHCI
-#undef CONFIG_CMD_SCSI
+#undef CONFIG_SCSI
 #undef CONFIG_INTEL_ICH6_GPIO
 #undef CONFIG_USB_EHCI_PCI
 
diff --git a/include/configs/galileo.h b/include/configs/galileo.h
index 2f1f6d4..40f7fba 100644
--- a/include/configs/galileo.h
+++ b/include/configs/galileo.h
@@ -29,7 +29,7 @@
 
 /* SATA is not supported in Quark SoC */
 #undef CONFIG_SCSI_AHCI
-#undef CONFIG_CMD_SCSI
+#undef CONFIG_SCSI
 
 /* Video is not supported in Quark SoC */
 #undef CONFIG_VIDEO
diff --git a/include/configs/highbank.h b/include/configs/highbank.h
index 3bce12b..5cefddc 100644
--- a/include/configs/highbank.h
+++ b/include/configs/highbank.h
@@ -51,7 +51,7 @@
 /*
  * Command line configuration.
  */
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 
 #define CONFIG_BOOT_RETRY_TIME		-1
 #define CONFIG_RESET_TO_RETRY
diff --git a/include/configs/imx6_spl.h b/include/configs/imx6_spl.h
index 68d3fd7..9bd9f6e 100644
--- a/include/configs/imx6_spl.h
+++ b/include/configs/imx6_spl.h
@@ -48,12 +48,16 @@
 #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS	800 /* 400 KB */
 #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION	1
 #define CONFIG_SYS_MONITOR_LEN  (CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS/2*1024)
+#define CONFIG_SPL_ABORT_ON_RAW_IMAGE
+#define CONFIG_SPL_EXT_SUPPORT
 #endif
 
 /* SATA support */
 #if defined(CONFIG_SPL_SATA_SUPPORT)
 #define CONFIG_SPL_SATA_BOOT_DEVICE		0
 #define CONFIG_SYS_SATA_FAT_BOOT_PARTITION	1
+#define CONFIG_SPL_ABORT_ON_RAW_IMAGE
+#define CONFIG_SPL_EXT_SUPPORT
 #endif
 
 /* Define the payload for FAT/EXT support */
diff --git a/include/configs/ls1043aqds.h b/include/configs/ls1043aqds.h
index d71a229..af1f73d 100644
--- a/include/configs/ls1043aqds.h
+++ b/include/configs/ls1043aqds.h
@@ -108,7 +108,7 @@
 #define CONFIG_LIBATA
 #define CONFIG_SCSI_AHCI
 #define CONFIG_SCSI_AHCI_PLAT
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #define CONFIG_DOS_PARTITION
 #define CONFIG_BOARD_LATE_INIT
 
diff --git a/include/configs/ls2080aqds.h b/include/configs/ls2080aqds.h
index 16a536a..4b27114 100644
--- a/include/configs/ls2080aqds.h
+++ b/include/configs/ls2080aqds.h
@@ -44,7 +44,7 @@
 #define CONFIG_LIBATA
 #define CONFIG_SCSI_AHCI
 #define CONFIG_SCSI_AHCI_PLAT
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #define CONFIG_DOS_PARTITION
 #define CONFIG_BOARD_LATE_INIT
 
diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h
index 45827f6..3baca64 100644
--- a/include/configs/ls2080ardb.h
+++ b/include/configs/ls2080ardb.h
@@ -62,7 +62,7 @@
 #define CONFIG_LIBATA
 #define CONFIG_SCSI_AHCI
 #define CONFIG_SCSI_AHCI_PLAT
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #define CONFIG_DOS_PARTITION
 #define CONFIG_BOARD_LATE_INIT
 
diff --git a/include/configs/minnowmax.h b/include/configs/minnowmax.h
index 674d1f6..95ad128 100644
--- a/include/configs/minnowmax.h
+++ b/include/configs/minnowmax.h
@@ -40,6 +40,6 @@
 #define CONFIG_X86EMU_RAW_IO
 
 #define CONFIG_ENV_SECT_SIZE		0x1000
-#define CONFIG_ENV_OFFSET		0x007fe000
+#define CONFIG_ENV_OFFSET		0x006ef000
 
 #endif	/* __CONFIG_H */
diff --git a/include/configs/novena.h b/include/configs/novena.h
index cfb92d6..2382951 100644
--- a/include/configs/novena.h
+++ b/include/configs/novena.h
@@ -75,7 +75,6 @@
 
 /* SPL */
 #define CONFIG_SPL_FAT_SUPPORT
-#define CONFIG_SPL_EXT_SUPPORT
 #define CONFIG_SPL_MMC_SUPPORT
 #include "imx6_spl.h"			/* common IMX6 SPL configuration */
 
@@ -150,6 +149,7 @@
 #define CONFIG_USB_EHCI_MX6
 #define CONFIG_USB_STORAGE
 #define CONFIG_USB_KEYBOARD
+#define CONFIG_SYS_STDIO_DEREGISTER
 #define CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP
 #define CONFIG_USB_HOST_ETHER
 #define CONFIG_USB_ETHER_ASIX
diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h
index 86cefa3..4ddc492 100644
--- a/include/configs/omap5_uevm.h
+++ b/include/configs/omap5_uevm.h
@@ -115,7 +115,7 @@
 /* Max time to hold reset on this board, see doc/README.omap-reset-time */
 #define CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC	16296
 
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #define CONFIG_LIBATA
 #define CONFIG_SCSI_AHCI
 #define CONFIG_SCSI_AHCI_PLAT
diff --git a/include/configs/qemu-mips.h b/include/configs/qemu-mips.h
index a7cd003..702967c 100644
--- a/include/configs/qemu-mips.h
+++ b/include/configs/qemu-mips.h
@@ -58,6 +58,10 @@
 #define CONFIG_CMD_IDE
 #define CONFIG_DOS_PARTITION
 
+#ifdef CONFIG_SYS_BIG_ENDIAN
+#define CONFIG_IDE_SWAP_IO
+#endif
+
 #define CONFIG_SYS_IDE_MAXBUS		2
 #define CONFIG_SYS_ATA_IDE0_OFFSET	0x1f0
 #define CONFIG_SYS_ATA_IDE1_OFFSET	0x170
diff --git a/include/configs/qemu-mips64.h b/include/configs/qemu-mips64.h
index 394382c..2394549 100644
--- a/include/configs/qemu-mips64.h
+++ b/include/configs/qemu-mips64.h
@@ -58,6 +58,10 @@
 #define CONFIG_CMD_IDE
 #define CONFIG_DOS_PARTITION
 
+#ifdef CONFIG_SYS_BIG_ENDIAN
+#define CONFIG_IDE_SWAP_IO
+#endif
+
 #define CONFIG_SYS_IDE_MAXBUS		2
 #define CONFIG_SYS_ATA_IDE0_OFFSET	0x1f0
 #define CONFIG_SYS_ATA_IDE1_OFFSET	0x170
diff --git a/include/configs/qemu-x86.h b/include/configs/qemu-x86.h
index b0d2ffe..476d37d 100644
--- a/include/configs/qemu-x86.h
+++ b/include/configs/qemu-x86.h
@@ -43,7 +43,7 @@
 #define CONFIG_ATAPI
 
 #undef CONFIG_SCSI_AHCI
-#undef CONFIG_CMD_SCSI
+#undef CONFIG_SCSI
 #else
 #define CONFIG_SCSI_DEV_LIST		\
 	{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_AHCI}
diff --git a/include/configs/sama5d2_ptc.h b/include/configs/sama5d2_ptc.h
new file mode 100644
index 0000000..d91d75e
--- /dev/null
+++ b/include/configs/sama5d2_ptc.h
@@ -0,0 +1,155 @@
+/*
+ * Configuration settings for the SAMA5D2 PTC Engineering board.
+ *
+ * Copyright (C) 2016 Atmel
+ *		      Wenyou Yang <wenyou.yang@atmel.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+/* No NOR flash, this definition should put before common header */
+#define CONFIG_SYS_NO_FLASH
+
+#include "at91-sama5_common.h"
+
+/* serial console */
+#define CONFIG_ATMEL_USART
+#define CONFIG_USART_BASE		ATMEL_BASE_UART0
+#define CONFIG_USART_ID			ATMEL_ID_UART0
+
+#define CONFIG_SYS_SDRAM_BASE           ATMEL_BASE_DDRCS
+#define CONFIG_SYS_SDRAM_SIZE		0x20000000
+
+#ifdef CONFIG_SPL_BUILD
+#define CONFIG_SYS_INIT_SP_ADDR		0x210000
+#else
+#define CONFIG_SYS_INIT_SP_ADDR \
+	(CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE)
+#endif
+
+#define CONFIG_SYS_LOAD_ADDR		0x22000000 /* load address */
+
+#undef CONFIG_AT91_GPIO
+#define CONFIG_ATMEL_PIO4
+
+/* SDRAM */
+#define CONFIG_NR_DRAM_BANKS		1
+
+/* SerialFlash */
+#ifdef CONFIG_CMD_SF
+#define CONFIG_ATMEL_SPI
+#define CONFIG_SPI_FLASH_ATMEL
+#define CONFIG_SF_DEFAULT_BUS		0
+#define CONFIG_SF_DEFAULT_CS		0
+#define CONFIG_SF_DEFAULT_SPEED		30000000
+#endif
+
+/* NAND flash */
+#define CONFIG_CMD_NAND
+
+#ifdef CONFIG_CMD_NAND
+#define CONFIG_NAND_ATMEL
+#define CONFIG_SYS_MAX_NAND_DEVICE	1
+#define CONFIG_SYS_NAND_BASE		ATMEL_BASE_CS3
+/* our ALE is AD21 */
+#define CONFIG_SYS_NAND_MASK_ALE	(1 << 21)
+/* our CLE is AD22 */
+#define CONFIG_SYS_NAND_MASK_CLE	(1 << 22)
+#define CONFIG_SYS_NAND_ONFI_DETECTION
+/* PMECC & PMERRLOC */
+#define CONFIG_ATMEL_NAND_HWECC
+#define CONFIG_ATMEL_NAND_HW_PMECC
+#define CONFIG_CMD_NAND_TRIMFFS
+#endif
+
+/* USB */
+#define CONFIG_CMD_USB
+
+#ifdef CONFIG_CMD_USB
+#define CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_ATMEL
+#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS	3
+#define CONFIG_USB_STORAGE
+#endif
+
+/* USB device */
+#define CONFIG_USB_GADGET
+#define CONFIG_USB_GADGET_DUALSPEED
+#define CONFIG_USB_GADGET_ATMEL_USBA
+#define CONFIG_USB_ETHER
+#define CONFIG_USB_ETH_RNDIS
+#define CONFIG_USBNET_MANUFACTURER      "Atmel SAMA5D2_PTC"
+
+#if defined(CONFIG_CMD_USB)
+#define CONFIG_CMD_FAT
+#define CONFIG_DOS_PARTITION
+#endif
+
+/* Ethernet Hardware */
+#define CONFIG_MACB
+#define CONFIG_RMII
+#define CONFIG_NET_RETRY_COUNT		20
+#define CONFIG_MACB_SEARCH_PHY
+
+#ifdef CONFIG_SYS_USE_NANDFLASH
+#undef CONFIG_ENV_OFFSET
+#undef CONFIG_ENV_OFFSET_REDUND
+#undef CONFIG_BOOTCOMMAND
+/* u-boot env in nand flash */
+#define CONFIG_ENV_IS_IN_NAND
+#define CONFIG_ENV_OFFSET		0x200000
+#define CONFIG_ENV_OFFSET_REDUND	0x400000
+#define CONFIG_BOOTCOMMAND		"nand read 0x21000000 0xb80000 0x80000;"	\
+					"nand read 0x22000000 0x600000 0x600000;"	\
+					"bootz 0x22000000 - 0x21000000"
+#endif
+
+#undef CONFIG_BOOTARGS
+#define CONFIG_BOOTARGS							\
+	"console=ttyS0,57600 earlyprintk "				\
+	"mtdparts=atmel_nand:6M(bootstrap)ro, 6M(kernel)ro,-(rootfs) "	\
+	"rootfstype=ubifs ubi.mtd=2 root=ubi0:rootfs"
+
+/* SPL */
+#define CONFIG_SPL_FRAMEWORK
+#define CONFIG_SPL_TEXT_BASE		0x200000
+#define CONFIG_SPL_MAX_SIZE		0x10000
+#define CONFIG_SPL_BSS_START_ADDR	0x20000000
+#define CONFIG_SPL_BSS_MAX_SIZE		0x80000
+#define CONFIG_SYS_SPL_MALLOC_START	0x20080000
+#define CONFIG_SYS_SPL_MALLOC_SIZE	0x80000
+
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
+#define CONFIG_SPL_LIBGENERIC_SUPPORT
+#define CONFIG_SPL_GPIO_SUPPORT
+#define CONFIG_SPL_SERIAL_SUPPORT
+
+#define CONFIG_SPL_BOARD_INIT
+#define CONFIG_SYS_MONITOR_LEN		(512 << 10)
+
+#ifdef CONFIG_SYS_USE_SERIALFLASH
+#define CONFIG_SPL_SPI_SUPPORT
+#define CONFIG_SPL_SPI_FLASH_SUPPORT
+#define CONFIG_SPL_SPI_LOAD
+#define CONFIG_SYS_SPI_U_BOOT_OFFS	0x8000
+
+#elif CONFIG_SYS_USE_NANDFLASH
+#define CONFIG_SPL_NAND_SUPPORT
+#define CONFIG_SPL_NAND_DRIVERS
+#define CONFIG_SPL_NAND_BASE
+#define CONFIG_PMECC_CAP		8
+#define CONFIG_PMECC_SECTOR_SIZE	512
+#define CONFIG_SYS_NAND_U_BOOT_OFFS	0x40000
+#define CONFIG_SYS_NAND_5_ADDR_CYCLE
+#define CONFIG_SYS_NAND_PAGE_SIZE	0x1000
+#define CONFIG_SYS_NAND_PAGE_COUNT	64
+#define CONFIG_SYS_NAND_OOBSIZE		224
+#define CONFIG_SYS_NAND_BLOCK_SIZE	0x40000
+#define CONFIG_SYS_NAND_BAD_BLOCK_POS	0x0
+#define CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER
+#endif
+
+#endif
diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
index 9790a14..23a0c40 100644
--- a/include/configs/sandbox.h
+++ b/include/configs/sandbox.h
@@ -192,4 +192,29 @@
 #define CONFIG_CMD_LZMADEC
 #define CONFIG_CMD_DATE
 
+#define CONFIG_CMD_IDE
+#define CONFIG_SYS_IDE_MAXBUS		1
+#define CONFIG_SYS_ATA_IDE0_OFFSET	0
+#define CONFIG_SYS_IDE_MAXDEVICE	2
+#define CONFIG_SYS_ATA_BASE_ADDR	0x100
+#define CONFIG_SYS_ATA_DATA_OFFSET	0
+#define CONFIG_SYS_ATA_REG_OFFSET	1
+#define CONFIG_SYS_ATA_ALT_OFFSET	2
+#define CONFIG_SYS_ATA_STRIDE		4
+
+#define CONFIG_SCSI
+#define CONFIG_SCSI_AHCI_PLAT
+#define CONFIG_SYS_SCSI_MAX_DEVICE	2
+#define CONFIG_SYS_SCSI_MAX_SCSI_ID	8
+#define CONFIG_SYS_SCSI_MAX_LUN		4
+
+#define CONFIG_CMD_SATA
+#define CONFIG_SYS_SATA_MAX_DEVICE	2
+
+#define CONFIG_SYSTEMACE
+#define CONFIG_SYS_SYSTEMACE_WIDTH	16
+#define CONFIG_SYS_SYSTEMACE_BASE	0
+
+#define CONFIG_GENERIC_MMC
+
 #endif
diff --git a/include/configs/sbc8641d.h b/include/configs/sbc8641d.h
index a7c7aef..c9970f1 100644
--- a/include/configs/sbc8641d.h
+++ b/include/configs/sbc8641d.h
@@ -297,8 +297,6 @@
 
 #define CONFIG_PCI_SCAN_SHOW            /* show pci devices on startup */
 
-#undef CONFIG_SYS_SCSI_SCAN_BUS_REVERSE
-
 #define CONFIG_PCI_PNP			/* do pci plug-and-play */
 
 #undef CONFIG_EEPRO100
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index 4fdc09a..f657766 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -173,7 +173,6 @@
  * I2C support
  */
 #define CONFIG_SYS_I2C
-#define CONFIG_SYS_I2C_DW
 #define CONFIG_SYS_I2C_BUS_MAX		4
 #define CONFIG_SYS_I2C_BASE		SOCFPGA_I2C0_ADDRESS
 #define CONFIG_SYS_I2C_BASE1		SOCFPGA_I2C1_ADDRESS
diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index c4b6234..7b2d262 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -35,7 +35,6 @@
 
 /* I2C driver configuration */
 #define CONFIG_SYS_I2C
-#define CONFIG_SYS_I2C_DW
 #if defined(CONFIG_SPEAR600)
 #define CONFIG_SYS_I2C_BASE			0xD0200000
 #elif defined(CONFIG_SPEAR300)
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index 2406115..ac2d931 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -125,7 +125,7 @@
 #define CONFIG_SYS_SCSI_MAX_LUN		1
 #define CONFIG_SYS_SCSI_MAX_DEVICE	(CONFIG_SYS_SCSI_MAX_SCSI_ID * \
 					 CONFIG_SYS_SCSI_MAX_LUN)
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #endif
 
 #define CONFIG_SETUP_MEMORY_TAGS
diff --git a/include/configs/theadorable.h b/include/configs/theadorable.h
index 1caa858..dda70c5 100644
--- a/include/configs/theadorable.h
+++ b/include/configs/theadorable.h
@@ -64,6 +64,7 @@
 #define PHY_ANEG_TIMEOUT	8000	/* PHY needs a longer aneg time */
 
 #define CONFIG_SYS_CONSOLE_INFO_QUIET	/* don't print console @ startup */
+#define CONFIG_ZERO_BOOTDELAY_CHECK	/* check for keypress on bootdelay==0 */
 #define CONFIG_SYS_ALT_MEMTEST
 #define CONFIG_PREBOOT
 
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index b049be4..2135af0 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -153,6 +153,7 @@
 #ifdef CONFIG_SPL_BUILD
 #undef CONFIG_DM_MMC
 #undef CONFIG_TIMER
+#undef CONFIG_DM_ETH
 #endif
 
 #endif /* __CONFIG_TI_OMAP5_COMMON_H */
diff --git a/include/configs/tplink_wdr4300.h b/include/configs/tplink_wdr4300.h
new file mode 100644
index 0000000..2b9e92e
--- /dev/null
+++ b/include/configs/tplink_wdr4300.h
@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2016 Marek Vasut <marex@denx.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#define CONFIG_SYS_TEXT_BASE		0xa1000000
+
+#define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_DISPLAY_BOARDINFO
+#define CONFIG_BOARD_EARLY_INIT_F
+
+#define CONFIG_SYS_HZ			1000
+#define CONFIG_SYS_MHZ			280
+#define CONFIG_SYS_MIPS_TIMER_FREQ	(CONFIG_SYS_MHZ * 1000000)
+
+/* Cache Configuration */
+#define CONFIG_SYS_DCACHE_SIZE		0x8000
+#define CONFIG_SYS_ICACHE_SIZE		0x10000
+#define CONFIG_SYS_CACHELINE_SIZE	32
+
+#define CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_TEXT_BASE
+
+#define CONFIG_SYS_MALLOC_LEN		0x40000
+#define CONFIG_SYS_BOOTPARAMS_LEN	0x20000
+
+#define CONFIG_SYS_SDRAM_BASE		0xa0000000
+#define CONFIG_SYS_LOAD_ADDR		0xa1000000
+#define CONFIG_LOADADDR			CONFIG_SYS_LOAD_ADDR
+
+#define CONFIG_SYS_NO_FLASH
+
+#define CONFIG_SYS_INIT_RAM_ADDR	0xbd000000
+#define CONFIG_SYS_INIT_RAM_SIZE	0x8000
+#define CONFIG_SYS_INIT_SP_ADDR		\
+	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE)
+
+/*
+ * Serial Port
+ */
+#define CONFIG_SYS_NS16550_CLK		40000000
+#define CONFIG_BAUDRATE			115200
+#define CONFIG_SYS_BAUDRATE_TABLE \
+	{9600, 19200, 38400, 57600, 115200}
+
+#define CONFIG_BOOTDELAY		3
+#define CONFIG_BOOTARGS			\
+	"console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=squashfs"
+#define CONFIG_BOOTCOMMAND		\
+	"dhcp 192.168.1.1:wdr4300.fit && bootm $loadaddr"
+#define CONFIG_LZMA
+
+#define CONFIG_ENV_IS_NOWHERE
+#define CONFIG_ENV_SIZE			0x10000
+
+/*
+ * Command
+ */
+/* Miscellaneous configurable options */
+#define CONFIG_SYS_LONGHELP
+#define CONFIG_SYS_CBSIZE	1024		/* Console I/O buffer size */
+#define CONFIG_SYS_MAXARGS	32		/* Max number of command args */
+#define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE
+						/* Boot argument buffer size */
+#define CONFIG_VERSION_VARIABLE			/* U-BOOT version */
+#define CONFIG_AUTO_COMPLETE			/* Command auto complete */
+#define CONFIG_CMDLINE_EDITING			/* Command history etc */
+#define CONFIG_SYS_HUSH_PARSER
+#define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
+
+/* USB, USB storage, USB ethernet */
+#define CONFIG_EHCI_MMIO_BIG_ENDIAN
+#define CONFIG_EHCI_DESC_BIG_ENDIAN
+#define CONFIG_EHCI_IS_TDI
+
+#define CONFIG_DOS_PARTITION
+
+/*
+ * Diagnostics
+ */
+#define CONFIG_SYS_MEMTEST_START	0x80100000
+#define CONFIG_SYS_MEMTEST_END		0x83f00000
+#define CONFIG_CMD_MEMTEST
+
+#define CONFIG_USE_PRIVATE_LIBGCC
+
+#define CONFIG_CMD_MII
+#define CONFIG_PHY_GIGE
+
+#endif  /* __CONFIG_H */
diff --git a/include/configs/tqma6.h b/include/configs/tqma6.h
index badb955..77ced71 100644
--- a/include/configs/tqma6.h
+++ b/include/configs/tqma6.h
@@ -16,7 +16,6 @@
 #define CONFIG_SPL_MMC_SUPPORT
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_FAT_SUPPORT
-#define CONFIG_SPL_EXT_SUPPORT
 
 /* common IMX6 SPL configuration */
 #include "imx6_spl.h"
diff --git a/include/configs/x600.h b/include/configs/x600.h
index d7da0b2..5fdd2be 100644
--- a/include/configs/x600.h
+++ b/include/configs/x600.h
@@ -85,7 +85,6 @@
 
 /* I2C config options */
 #define CONFIG_SYS_I2C
-#define CONFIG_SYS_I2C_DW
 #define CONFIG_SYS_I2C_BASE			0xD0200000
 #define CONFIG_SYS_I2C_SPEED			400000
 #define CONFIG_SYS_I2C_SLAVE			0x02
diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h
index a2822e0..b4aad6c 100644
--- a/include/configs/x86-common.h
+++ b/include/configs/x86-common.h
@@ -100,7 +100,7 @@
 #define CONFIG_CMD_IRQ
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_GETTIME
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 
 #define CONFIG_CMD_ZBOOT
 
@@ -193,14 +193,19 @@
 #define CONFIG_HOSTNAME		x86
 #define CONFIG_BOOTFILE		"bzImage"
 #define CONFIG_LOADADDR		0x1000000
-#define CONFIG_RAMDISK_ADDR		0x4000000
+#define CONFIG_RAMDISK_ADDR	0x4000000
+#ifdef CONFIG_GENERATE_ACPI_TABLE
+#define CONFIG_OTHBOOTARGS	"othbootargs=\0"
+#else
+#define CONFIG_OTHBOOTARGS	"othbootargs=acpi=off\0"
+#endif
 
 #define CONFIG_EXTRA_ENV_SETTINGS			\
 	CONFIG_STD_DEVICES_SETTINGS			\
 	"pciconfighost=1\0"				\
 	"netdev=eth0\0"					\
 	"consoledev=ttyS0\0"				\
-	"othbootargs=acpi=off\0"			\
+	CONFIG_OTHBOOTARGS				\
 	"ramdiskaddr=0x4000000\0"			\
 	"ramdiskfile=initramfs.gz\0"
 
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
index 060bca9..b2fa164 100644
--- a/include/configs/xilinx_zynqmp.h
+++ b/include/configs/xilinx_zynqmp.h
@@ -41,7 +41,7 @@
 # define CONFIG_IDENT_STRING		" Xilinx ZynqMP"
 #endif
 
-#define CONFIG_SYS_INIT_SP_ADDR		CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_INIT_SP_ADDR		0xfffffffc
 
 /* Generic Timer Definitions - setup in EL3. Setup by ATF for other cases */
 #if !defined(COUNTER_FREQUENCY)
@@ -65,6 +65,9 @@
 #define CONFIG_CMD_ENV
 #define CONFIG_DOS_PARTITION
 #define CONFIG_EFI_PARTITION
+#ifndef CONFIG_SPL_BUILD
+# define CONFIG_ISO_PARTITION
+#endif
 #define CONFIG_MP
 
 /* BOOTP options */
@@ -74,10 +77,24 @@
 #define CONFIG_BOOTP_HOSTNAME
 #define CONFIG_BOOTP_MAY_FAIL
 #define CONFIG_BOOTP_SERVERIP
+#define CONFIG_BOOTP_DNS
+#define CONFIG_BOOTP_PXE
+#define CONFIG_BOOTP_SUBNETMASK
+#define CONFIG_BOOTP_PXE_CLIENTARCH     0x100
+
+/* Diff from config_distro_defaults.h */
+#define CONFIG_SUPPORT_RAW_INITRD
+#define CONFIG_ENV_VARS_UBOOT_CONFIG
+#define CONFIG_AUTO_COMPLETE
+
+/* PXE */
+#define CONFIG_CMD_PXE
+#define CONFIG_MENU
 
 #if defined(CONFIG_ZYNQ_SDHCI)
 # define CONFIG_MMC
 # define CONFIG_GENERIC_MMC
+# define CONFIG_SUPPORT_EMMC_BOOT
 # define CONFIG_SDHCI
 # ifndef CONFIG_ZYNQ_SDHCI_MAX_FREQ
 #  define CONFIG_ZYNQ_SDHCI_MAX_FREQ	200000000
@@ -133,6 +150,7 @@
 #endif
 
 /* Initial environment variables */
+#ifndef CONFIG_EXTRA_ENV_SETTINGS
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"kernel_addr=0x80000\0" \
 	"fdt_addr=0x7000000\0" \
@@ -143,8 +161,8 @@
 		"load mmc $sdbootdev:$partid $kernel_addr Image && " \
 		"booti $kernel_addr - $fdt_addr\0" \
 	DFU_ALT_INFO
+#endif
 
-#define CONFIG_PREBOOT		"run bootargs"
 #define CONFIG_BOOTCOMMAND	"run $modeboot"
 #define CONFIG_BOOTDELAY	3
 
@@ -201,7 +219,7 @@
 #define CONFIG_SYS_SCSI_MAX_LUN		1
 #define CONFIG_SYS_SCSI_MAX_DEVICE	(CONFIG_SYS_SCSI_MAX_SCSI_ID * \
 					 CONFIG_SYS_SCSI_MAX_LUN)
-#define CONFIG_CMD_SCSI
+#define CONFIG_SCSI
 #endif
 
 #define CONFIG_SYS_BOOTM_LEN	(60 * 1024 * 1024)
@@ -212,4 +230,41 @@
 #define CONFIG_BOARD_EARLY_INIT_R
 #define CONFIG_CLOCKS
 
+#define CONFIG_SPL_TEXT_BASE		0xfffc0000
+#define CONFIG_SPL_MAX_SIZE		0x20000
+
+/* Just random location in OCM */
+#define CONFIG_SPL_BSS_START_ADDR	0x1000000
+#define CONFIG_SPL_BSS_MAX_SIZE		0x2000000
+
+#define CONFIG_SPL_FRAMEWORK
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
+#define CONFIG_SPL_LIBGENERIC_SUPPORT
+#define CONFIG_SPL_SERIAL_SUPPORT
+#define CONFIG_SPL_BOARD_INIT
+#define CONFIG_SPL_RAM_DEVICE
+
+#define CONFIG_SPL_OS_BOOT
+/* u-boot is like dtb */
+#define CONFIG_SPL_FS_LOAD_ARGS_NAME	"u-boot.bin"
+#define CONFIG_SYS_SPL_ARGS_ADDR	0x8000000
+
+/* ATF is my kernel image */
+#define CONFIG_SPL_FS_LOAD_KERNEL_NAME	"atf.ub"
+
+/* FIT load address for RAM boot */
+#define CONFIG_SPL_LOAD_FIT_ADDRESS	0x10000000
+
+/* MMC support */
+#ifdef CONFIG_ZYNQ_SDHCI
+# define CONFIG_SPL_MMC_SUPPORT
+# define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION	1
+# define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR	0 /* unused */
+# define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS	0 /* unused */
+# define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR	0 /* unused */
+# define CONFIG_SPL_LIBDISK_SUPPORT
+# define CONFIG_SPL_FAT_SUPPORT
+# define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME	"u-boot.img"
+#endif
+
 #endif /* __XILINX_ZYNQMP_H */
diff --git a/include/configs/xilinx_zynqmp_zcu102.h b/include/configs/xilinx_zynqmp_zcu102.h
index 30db2e4..81079fe 100644
--- a/include/configs/xilinx_zynqmp_zcu102.h
+++ b/include/configs/xilinx_zynqmp_zcu102.h
@@ -48,6 +48,12 @@
 
 #define CONFIG_IDENT_STRING	" Xilinx ZynqMP ZCU102"
 
+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1
+#define CONFIG_CMD_EEPROM
+#define CONFIG_ZYNQ_EEPROM_BUS		5
+#define CONFIG_ZYNQ_GEM_EEPROM_ADDR	0x54
+#define CONFIG_ZYNQ_GEM_I2C_MAC_OFFSET	0x20
+
 #define CONFIG_KERNEL_FDT_OFST_SIZE \
 	"kernel_offset=0x180000\0" \
 	"fdt_offset=0x100000\0" \
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index a3e4aec..82ece0d 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -315,11 +315,7 @@
 #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION     1
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #define CONFIG_SPL_FAT_SUPPORT
-#ifdef CONFIG_OF_SEPARATE
-# define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME     "u-boot-dtb.img"
-#else
-# define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME     "u-boot.img"
-#endif
+#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME     "u-boot.img"
 #endif
 
 /* Disable dcache for SPL just for sure */
diff --git a/include/cpsw.h b/include/cpsw.h
index cf1d30b..257d12a 100644
--- a/include/cpsw.h
+++ b/include/cpsw.h
@@ -21,6 +21,7 @@
 	u32		sliver_reg_ofs;
 	int		phy_addr;
 	int		phy_if;
+	int		phy_of_handle;
 };
 
 enum {
@@ -51,5 +52,6 @@
 };
 
 int cpsw_register(struct cpsw_platform_data *data);
+int ti_cm_get_macid(struct udevice *dev, int slave, u8 *mac_addr);
 
 #endif /* _CPSW_H_  */
diff --git a/include/dm/device.h b/include/dm/device.h
index 8970fc0..f03bcd3 100644
--- a/include/dm/device.h
+++ b/include/dm/device.h
@@ -41,6 +41,9 @@
 /* Device is bound */
 #define DM_FLAG_BOUND			(1 << 6)
 
+/* Device name is allocated and should be freed on unbind() */
+#define DM_NAME_ALLOCED			(1 << 7)
+
 /**
  * struct udevice - An instance of a driver
  *
@@ -523,6 +526,9 @@
  * this is unnecessary but for probed devices which don't get a useful name
  * this function can be helpful.
  *
+ * The name is allocated and will be freed automatically when the device is
+ * unbound.
+ *
  * @dev:	Device to update
  * @name:	New name (this string is allocated new memory and attached to
  *		the device)
@@ -532,6 +538,39 @@
 int device_set_name(struct udevice *dev, const char *name);
 
 /**
+ * device_set_name_alloced() - note that a device name is allocated
+ *
+ * This sets the DM_NAME_ALLOCED flag for the device, so that when it is
+ * unbound the name will be freed. This avoids memory leaks.
+ *
+ * @dev:	Device to update
+ */
+void device_set_name_alloced(struct udevice *dev);
+
+/**
+ * of_device_is_compatible() - check if the device is compatible with the compat
+ *
+ * This allows to check whether the device is comaptible with the compat.
+ *
+ * @dev:	udevice pointer for which compatible needs to be verified.
+ * @compat:	Compatible string which needs to verified in the given
+ *		device
+ * @return true if OK, false if the compatible is not found
+ */
+bool of_device_is_compatible(struct udevice *dev, const char *compat);
+
+/**
+ * of_machine_is_compatible() - check if the machine is compatible with
+ *				the compat
+ *
+ * This allows to check whether the machine is comaptible with the compat.
+ *
+ * @compat:	Compatible string which needs to verified
+ * @return true if OK, false if the compatible is not found
+ */
+bool of_machine_is_compatible(const char *compat);
+
+/**
  * device_is_on_pci_bus - Test if a device is on a PCI bus
  *
  * @dev:	device to test
diff --git a/include/dm/platform_data/serial_coldfire.h b/include/dm/platform_data/serial_coldfire.h
new file mode 100644
index 0000000..5d86456
--- /dev/null
+++ b/include/dm/platform_data/serial_coldfire.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2015  Angelo Dureghello <angelo@sysam.it>
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#ifndef __serial_coldfire_h
+#define __serial_coldfire_h
+
+/*
+ * struct coldfire_serial_platdata - information about a coldfire port
+ *
+ * @base:               Uart port base register address
+ * @port:               Uart port index, for cpu with pinmux for uart / gpio
+ * baudrtatre:          Uart port baudrate
+ */
+struct coldfire_serial_platdata {
+	unsigned long base;
+	int port;
+	int baudrate;
+};
+
+#endif /* __serial_coldfire_h */
diff --git a/include/dm/uclass-id.h b/include/dm/uclass-id.h
index cbf9b2c..a5cf6e2 100644
--- a/include/dm/uclass-id.h
+++ b/include/dm/uclass-id.h
@@ -26,11 +26,11 @@
 
 	/* U-Boot uclasses start here - in alphabetical order */
 	UCLASS_ADC,		/* Analog-to-digital converter */
+	UCLASS_AHCI,		/* SATA disk controller */
 	UCLASS_BLK,		/* Block device */
 	UCLASS_CLK,		/* Clock source, e.g. used by peripherals */
 	UCLASS_CPU,		/* CPU, typically part of an SoC */
 	UCLASS_CROS_EC,		/* Chrome OS EC */
-	UCLASS_DISK,		/* Disk controller, e.g. SATA */
 	UCLASS_DISPLAY,		/* Display (e.g. DisplayPort, HDMI) */
 	UCLASS_DMA,		/* Direct Memory Access */
 	UCLASS_RAM,		/* RAM controller */
diff --git a/include/dt-bindings/net/ti-dp83867.h b/include/dt-bindings/net/ti-dp83867.h
new file mode 100644
index 0000000..1843757
--- /dev/null
+++ b/include/dt-bindings/net/ti-dp83867.h
@@ -0,0 +1,35 @@
+/*
+ * TI DP83867 PHY drivers
+ *
+ * SPDX-License-Identifier:	GPL-2.0
+ *
+ */
+
+#ifndef _DT_BINDINGS_TI_DP83867_H
+#define _DT_BINDINGS_TI_DP83867_H
+
+/* PHY CTRL bits */
+#define DP83867_PHYCR_FIFO_DEPTH_3_B_NIB	0x00
+#define DP83867_PHYCR_FIFO_DEPTH_4_B_NIB	0x01
+#define DP83867_PHYCR_FIFO_DEPTH_6_B_NIB	0x02
+#define DP83867_PHYCR_FIFO_DEPTH_8_B_NIB	0x03
+
+/* RGMIIDCTL internal delay for rx and tx */
+#define DP83867_RGMIIDCTL_250_PS	0x0
+#define DP83867_RGMIIDCTL_500_PS	0x1
+#define DP83867_RGMIIDCTL_750_PS	0x2
+#define DP83867_RGMIIDCTL_1_NS		0x3
+#define DP83867_RGMIIDCTL_1_25_NS	0x4
+#define DP83867_RGMIIDCTL_1_50_NS	0x5
+#define DP83867_RGMIIDCTL_1_75_NS	0x6
+#define DP83867_RGMIIDCTL_2_00_NS	0x7
+#define DP83867_RGMIIDCTL_2_25_NS	0x8
+#define DP83867_RGMIIDCTL_2_50_NS	0x9
+#define DP83867_RGMIIDCTL_2_75_NS	0xa
+#define DP83867_RGMIIDCTL_3_00_NS	0xb
+#define DP83867_RGMIIDCTL_3_25_NS	0xc
+#define DP83867_RGMIIDCTL_3_50_NS	0xd
+#define DP83867_RGMIIDCTL_3_75_NS	0xe
+#define DP83867_RGMIIDCTL_4_00_NS	0xf
+
+#endif
diff --git a/include/eeprom_field.h b/include/eeprom_field.h
new file mode 100644
index 0000000..94e259f
--- /dev/null
+++ b/include/eeprom_field.h
@@ -0,0 +1,39 @@
+/*
+ * (C) Copyright 2009-2016 CompuLab, Ltd.
+ *
+ * Authors: Nikita Kiryanov <nikita@compulab.co.il>
+ *	    Igor Grinberg <grinberg@compulab.co.il>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef _FIELD_
+#define _FIELD_
+
+#define PRINT_FIELD_SEGMENT	"%-30s"
+
+struct eeprom_field {
+	char *name;
+	int size;
+	unsigned char *buf;
+
+	void (*print)(const struct eeprom_field *eeprom_field);
+	int (*update)(struct eeprom_field *eeprom_field, char *value);
+};
+
+void eeprom_field_print_bin(const struct eeprom_field *field);
+int eeprom_field_update_bin(struct eeprom_field *field, char *value);
+
+void eeprom_field_print_bin_rev(const struct eeprom_field *field);
+int eeprom_field_update_bin_rev(struct eeprom_field *field, char *value);
+
+void eeprom_field_print_mac(const struct eeprom_field *field);
+int eeprom_field_update_mac(struct eeprom_field *field, char *value);
+
+void eeprom_field_print_ascii(const struct eeprom_field *field);
+int eeprom_field_update_ascii(struct eeprom_field *field, char *value);
+
+void eeprom_field_print_reserved(const struct eeprom_field *field);
+int eeprom_field_update_reserved(struct eeprom_field *field, char *value);
+
+#endif
diff --git a/include/eeprom_layout.h b/include/eeprom_layout.h
new file mode 100644
index 0000000..459b99d
--- /dev/null
+++ b/include/eeprom_layout.h
@@ -0,0 +1,33 @@
+/*
+ * (C) Copyright 2009-2016 CompuLab, Ltd.
+ *
+ * Authors: Nikita Kiryanov <nikita@compulab.co.il>
+ *	    Igor Grinberg <grinberg@compulab.co.il>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef _LAYOUT_
+#define _LAYOUT_
+
+#define RESERVED_FIELDS			NULL
+#define LAYOUT_VERSION_UNRECOGNIZED	-1
+#define LAYOUT_VERSION_AUTODETECT	-2
+
+struct eeprom_layout {
+	struct eeprom_field *fields;
+	int num_of_fields;
+	int layout_version;
+	unsigned char *data;
+	int data_size;
+	void (*print)(const struct eeprom_layout *eeprom_layout);
+	int (*update)(struct eeprom_layout *eeprom_layout, char *field_name,
+		      char *new_data);
+};
+
+void eeprom_layout_setup(struct eeprom_layout *layout, unsigned char *buf,
+			 unsigned int buf_size, int layout_version);
+__weak void __eeprom_layout_assign(struct eeprom_layout *layout,
+				   int layout_version);
+
+#endif
diff --git a/include/flash.h b/include/flash.h
index c6321a0..2a5e13a 100644
--- a/include/flash.h
+++ b/include/flash.h
@@ -400,6 +400,9 @@
 #define FLASH_STM800DT	0x00D7		/* STM M29W800DT (1M = 64K x 16, top)	*/
 #define FLASH_STM800DB	0x005B		/* STM M29W800DB (1M = 64K x 16, bottom)*/
 
+#define FLASH_MCHP100T	0x0060		/* MCHP internal (1M = 64K x 16) */
+#define FLASH_MCHP100B	0x0061		/* MCHP internal (1M = 64K x 16) */
+
 #define FLASH_28F400_T	0x0062		/* MT  28F400B3 ID (  4M = 256K x 16 )	*/
 #define FLASH_28F400_B	0x0063		/* MT  28F400B3 ID (  4M = 256K x 16 )	*/
 
@@ -486,7 +489,7 @@
 #define FLASH_MAN_SHARP 0x00500000
 #define FLASH_MAN_ATM	0x00600000
 #define FLASH_MAN_CFI	0x01000000
-
+#define FLASH_MAN_MCHP	0x02000000	/* Microchip Technology		*/
 
 #define FLASH_TYPEMASK	0x0000FFFF	/* extract FLASH type	information	*/
 #define FLASH_VENDMASK	0xFFFF0000	/* extract FLASH vendor information	*/
diff --git a/include/ide.h b/include/ide.h
index a4e65cf..9b0a4a9 100644
--- a/include/ide.h
+++ b/include/ide.h
@@ -34,10 +34,18 @@
 
 void ide_init(void);
 struct blk_desc;
+struct udevice;
+#ifdef CONFIG_BLK
+ulong ide_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
+	       void *buffer);
+ulong ide_write(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
+		const void *buffer);
+#else
 ulong ide_read(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t blkcnt,
 	       void *buffer);
 ulong ide_write(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t blkcnt,
 		const void *buffer);
+#endif
 
 #ifdef CONFIG_IDE_PREINIT
 int ide_preinit(void);
diff --git a/include/image.h b/include/image.h
index f9ee564..a8f6bd1 100644
--- a/include/image.h
+++ b/include/image.h
@@ -246,8 +246,10 @@
 #define IH_TYPE_RKSD		24	/* Rockchip SD card		*/
 #define IH_TYPE_RKSPI		25	/* Rockchip SPI image		*/
 #define IH_TYPE_ZYNQIMAGE	26	/* Xilinx Zynq Boot Image */
+#define IH_TYPE_ZYNQMPIMAGE	27	/* Xilinx ZynqMP Boot Image */
+#define IH_TYPE_FPGA		28	/* FPGA Image */
 
-#define IH_TYPE_COUNT		27	/* Number of image types */
+#define IH_TYPE_COUNT		29	/* Number of image types */
 
 /*
  * Compression Types
@@ -494,6 +496,8 @@
 int genimg_has_config(bootm_headers_t *images);
 ulong genimg_get_image(ulong img_addr);
 
+int boot_get_fpga(int argc, char * const argv[], bootm_headers_t *images,
+		uint8_t arch, const ulong *ld_start, ulong * const ld_len);
 int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
 		uint8_t arch, ulong *rd_start, ulong *rd_end);
 
@@ -809,6 +813,7 @@
 #define FIT_LOADABLE_PROP	"loadables"
 #define FIT_DEFAULT_PROP	"default"
 #define FIT_SETUP_PROP		"setup"
+#define FIT_FPGA_PROP		"fpga"
 
 #define FIT_MAX_HASH_LEN	HASH_MAX_DIGEST_SIZE
 
diff --git a/include/iotrace.h b/include/iotrace.h
index 9bd1f16..e4ceb61 100644
--- a/include/iotrace.h
+++ b/include/iotrace.h
@@ -31,10 +31,11 @@
 #define writew(val, addr)	iotrace_writew(val, (const void *)(addr))
 
 #undef readb
-#define readb(addr)	iotrace_readb((const void *)(addr))
+#define readb(addr)	iotrace_readb((const void *)(uintptr_t)addr)
 
 #undef writeb
-#define writeb(val, addr)	iotrace_writeb(val, (const void *)(addr))
+#define writeb(val, addr) \
+	iotrace_writeb(val, (const void *)(uintptr_t)addr)
 
 #endif
 
diff --git a/include/linux/usb/otg.h b/include/linux/usb/otg.h
index 7ec5550..8f8ac6a 100644
--- a/include/linux/usb/otg.h
+++ b/include/linux/usb/otg.h
@@ -17,4 +17,13 @@
 	USB_DR_MODE_OTG,
 };
 
+/**
+ * usb_get_dr_mode() - Get dual role mode for given device
+ * @node: Node offset to the given device
+ *
+ * The function gets phy interface string from property 'dr_mode',
+ * and returns the correspondig enum usb_dr_mode
+ */
+enum usb_dr_mode usb_get_dr_mode(int node);
+
 #endif /* __LINUX_USB_OTG_H */
diff --git a/include/mmc.h b/include/mmc.h
index cdb56e7..a5c6573 100644
--- a/include/mmc.h
+++ b/include/mmc.h
@@ -344,7 +344,9 @@
 
 /* TODO struct mmc should be in mmc_private but it's hard to fix right now */
 struct mmc {
+#ifndef CONFIG_BLK
 	struct list_head link;
+#endif
 	const struct mmc_config *cfg;	/* provided configuration */
 	uint version;
 	void *priv;
@@ -376,11 +378,16 @@
 	u64 capacity_gp[4];
 	u64 enh_user_start;
 	u64 enh_user_size;
+#ifndef CONFIG_BLK
 	struct blk_desc block_dev;
+#endif
 	char op_cond_pending;	/* 1 if we are waiting on an op_cond command */
 	char init_in_progress;	/* 1 if we have done mmc_start_init() */
 	char preinit;		/* start init as early as possible */
 	int ddr_mode;
+#ifdef CONFIG_DM_MMC
+	struct udevice *dev;	/* Device for this MMC controller */
+#endif
 };
 
 struct mmc_hwpart_conf {
@@ -406,7 +413,29 @@
 
 int mmc_register(struct mmc *mmc);
 struct mmc *mmc_create(const struct mmc_config *cfg, void *priv);
+
+/**
+ * mmc_bind() - Set up a new MMC device ready for probing
+ *
+ * A child block device is bound with the IF_TYPE_MMC interface type. This
+ * allows the device to be used with CONFIG_BLK
+ *
+ * @dev:	MMC device to set up
+ * @mmc:	MMC struct
+ * @cfg:	MMC configuration
+ * @return 0 if OK, -ve on error
+ */
+int mmc_bind(struct udevice *dev, struct mmc *mmc,
+	     const struct mmc_config *cfg);
 void mmc_destroy(struct mmc *mmc);
+
+/**
+ * mmc_unbind() - Unbind a MMC device's child block device
+ *
+ * @dev:	MMC device
+ * @return 0 if OK, -ve on error
+ */
+int mmc_unbind(struct udevice *dev);
 int mmc_initialize(bd_t *bis);
 int mmc_init(struct mmc *mmc);
 int mmc_read(struct mmc *mmc, u64 src, uchar *dst, int size);
@@ -415,7 +444,6 @@
 int mmc_set_dev(int dev_num);
 void print_mmc_devices(char separator);
 int get_mmc_num(void);
-int mmc_switch_part(int dev_num, unsigned int part_num);
 int mmc_hwpart_config(struct mmc *mmc, const struct mmc_hwpart_conf *conf,
 		      enum mmc_hwpart_conf_mode mode);
 int mmc_getcd(struct mmc *mmc);
@@ -498,4 +526,12 @@
 #define CONFIG_SYS_MMC_MAX_BLK_COUNT 65535
 #endif
 
+/**
+ * mmc_get_blk_desc() - Get the block descriptor for an MMC device
+ *
+ * @mmc:	MMC device
+ * @return block device if found, else NULL
+ */
+struct blk_desc *mmc_get_blk_desc(struct mmc *mmc);
+
 #endif /* _MMC_H_ */
diff --git a/include/netdev.h b/include/netdev.h
index 244f23f..7a211bc 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -134,64 +134,6 @@
 	return num;
 }
 
-/*
- * Boards with mv88e61xx switch can use this by defining
- * CONFIG_MV88E61XX_SWITCH in respective board configheader file
- * the stuct and enums here are used to specify switch configuration params
- */
-#if defined(CONFIG_MV88E61XX_SWITCH)
-
-/* constants for any 88E61xx switch */
-#define MV88E61XX_MAX_PORTS_NUM	6
-
-enum mv88e61xx_cfg_mdip {
-	MV88E61XX_MDIP_NOCHANGE,
-	MV88E61XX_MDIP_REVERSE
-};
-
-enum mv88e61xx_cfg_ledinit {
-	MV88E61XX_LED_INIT_DIS,
-	MV88E61XX_LED_INIT_EN
-};
-
-enum mv88e61xx_cfg_rgmiid {
-	MV88E61XX_RGMII_DELAY_DIS,
-	MV88E61XX_RGMII_DELAY_EN
-};
-
-enum mv88e61xx_cfg_prtstt {
-	MV88E61XX_PORTSTT_DISABLED,
-	MV88E61XX_PORTSTT_BLOCKING,
-	MV88E61XX_PORTSTT_LEARNING,
-	MV88E61XX_PORTSTT_FORWARDING
-};
-
-struct mv88e61xx_config {
-	char *name;
-	u8 vlancfg[MV88E61XX_MAX_PORTS_NUM];
-	enum mv88e61xx_cfg_rgmiid rgmii_delay;
-	enum mv88e61xx_cfg_prtstt portstate;
-	enum mv88e61xx_cfg_ledinit led_init;
-	enum mv88e61xx_cfg_mdip mdip;
-	u32 ports_enabled;
-	u8 cpuport;
-};
-
-/*
- * Common mappings for Internal VLANs
- * These mappings consider that all ports are useable; the driver
- * will mask inexistent/unused ports.
- */
-
-/* Switch mode : routes any port to any port */
-#define MV88E61XX_VLANCFG_SWITCH { 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F }
-
-/* Router mode: routes only CPU port 5 to/from non-CPU ports 0-4 */
-#define MV88E61XX_VLANCFG_ROUTER { 0x20, 0x20, 0x20, 0x20, 0x20, 0x1F }
-
-int mv88e61xx_switch_initialize(struct mv88e61xx_config *swconfig);
-#endif /* CONFIG_MV88E61XX_SWITCH */
-
 struct mii_dev *fec_get_miibus(uint32_t base_addr, int dev_id);
 #ifdef CONFIG_PHYLIB
 struct phy_device;
diff --git a/include/part.h b/include/part.h
index e3811c6..226b5be 100644
--- a/include/part.h
+++ b/include/part.h
@@ -12,7 +12,6 @@
 
 struct block_drvr {
 	char *name;
-	struct blk_desc* (*get_dev)(int dev);
 	int (*select_hwpart)(int dev_num, int hwpart);
 };
 
@@ -73,32 +72,8 @@
  *	   error occurred.
  */
 struct blk_desc *blk_get_dev(const char *ifname, int dev);
-struct blk_desc *ide_get_dev(int dev);
-struct blk_desc *sata_get_dev(int dev);
-struct blk_desc *scsi_get_dev(int dev);
-struct blk_desc *usb_stor_get_dev(int dev);
-struct blk_desc *mmc_get_dev(int dev);
 
-/**
- * mmc_select_hwpart() - Select the MMC hardware partiion on an MMC device
- *
- * MMC devices can support partitioning at the hardware level. This is quite
- * separate from the normal idea of software-based partitions. MMC hardware
- * partitions must be explicitly selected. Once selected only the region of
- * the device covered by that partition is accessible.
- *
- * The MMC standard provides for two boot partitions (numbered 1 and 2),
- * rpmb (3), and up to 4 addition general-purpose partitions (4-7).
- *
- * @dev_num:	Block device number (struct blk_desc->dev value)
- * @hwpart:	Hardware partition number to select. 0 means the raw device,
- *		1 is the first partition, 2 is the second, etc.
- * @return 0 if OK, other value for an error
- */
-int mmc_select_hwpart(int dev_num, int hwpart);
-struct blk_desc *systemace_get_dev(int dev);
 struct blk_desc *mg_disk_get_dev(int dev);
-struct blk_desc *host_get_dev(int dev);
 int host_get_dev_err(int dev, struct blk_desc **blk_devp);
 
 /* disk/part.c */
@@ -175,15 +150,7 @@
 #else
 static inline struct blk_desc *blk_get_dev(const char *ifname, int dev)
 { return NULL; }
-static inline struct blk_desc *ide_get_dev(int dev) { return NULL; }
-static inline struct blk_desc *sata_get_dev(int dev) { return NULL; }
-static inline struct blk_desc *scsi_get_dev(int dev) { return NULL; }
-static inline struct blk_desc *usb_stor_get_dev(int dev) { return NULL; }
-static inline struct blk_desc *mmc_get_dev(int dev) { return NULL; }
-static inline int mmc_select_hwpart(int dev_num, int hwpart) { return -1; }
-static inline struct blk_desc *systemace_get_dev(int dev) { return NULL; }
 static inline struct blk_desc *mg_disk_get_dev(int dev) { return NULL; }
-static inline struct blk_desc *host_get_dev(int dev) { return NULL; }
 
 static inline int part_get_info(struct blk_desc *dev_desc, int part,
 				disk_partition_t *info) { return -1; }
diff --git a/include/phy.h b/include/phy.h
index 21459a8..268d9a1 100644
--- a/include/phy.h
+++ b/include/phy.h
@@ -249,6 +249,7 @@
 int gen10g_shutdown(struct phy_device *phydev);
 int gen10g_discover_mmds(struct phy_device *phydev);
 
+int phy_mv88e61xx_init(void);
 int phy_aquantia_init(void);
 int phy_atheros_init(void);
 int phy_broadcom_init(void);
@@ -277,6 +278,28 @@
  */
 int phy_get_interface_by_name(const char *str);
 
+/**
+ * phy_interface_is_rgmii - Convenience function for testing if a PHY interface
+ * is RGMII (all variants)
+ * @phydev: the phy_device struct
+ */
+static inline bool phy_interface_is_rgmii(struct phy_device *phydev)
+{
+	return phydev->interface >= PHY_INTERFACE_MODE_RGMII &&
+		phydev->interface <= PHY_INTERFACE_MODE_RGMII_TXID;
+}
+
+/**
+ * phy_interface_is_sgmii - Convenience function for testing if a PHY interface
+ * is SGMII (all variants)
+ * @phydev: the phy_device struct
+ */
+static inline bool phy_interface_is_sgmii(struct phy_device *phydev)
+{
+	return phydev->interface >= PHY_INTERFACE_MODE_SGMII &&
+		phydev->interface <= PHY_INTERFACE_MODE_QSGMII;
+}
+
 /* PHY UIDs for various PHYs that are referenced in external code */
 #define PHY_UID_CS4340  0x13e51002
 #define PHY_UID_TN2020	0x00a19410
diff --git a/arch/x86/include/asm/fw_cfg.h b/include/qfw.h
similarity index 80%
rename from arch/x86/include/asm/fw_cfg.h
rename to include/qfw.h
index e9450c6..b0b3b59 100644
--- a/arch/x86/include/asm/fw_cfg.h
+++ b/include/qfw.h
@@ -7,11 +7,6 @@
 #ifndef __FW_CFG__
 #define __FW_CFG__
 
-#define FW_CONTROL_PORT	0x510
-#define FW_DATA_PORT		0x511
-#define FW_DMA_PORT_LOW	0x514
-#define FW_DMA_PORT_HIGH	0x518
-
 #include <linux/list.h>
 
 enum qemu_fwcfg_items {
@@ -87,12 +82,22 @@
 	struct list_head list;  /* list node to link to fw_list */
 };
 
+struct fw_cfg_file_iter {
+	struct list_head *entry; /* structure to iterate file list */
+};
+
 struct fw_cfg_dma_access {
 	__be32 control;
 	__be32 length;
 	__be64 address;
 };
 
+struct fw_cfg_arch_ops {
+	void (*arch_read_pio)(uint16_t selector, uint32_t size,
+			void *address);
+	void (*arch_read_dma)(struct fw_cfg_dma_access *dma);
+};
+
 struct bios_linker_entry {
 	__le32 command;
 	union {
@@ -144,8 +149,14 @@
 
 /**
  * Initialize QEMU fw_cfg interface
+ *
+ * @ops: arch specific read operations
  */
-void qemu_fwcfg_init(void);
+void qemu_fwcfg_init(struct fw_cfg_arch_ops *ops);
+
+void qemu_fwcfg_read_entry(uint16_t entry, uint32_t length, void *address);
+int qemu_fwcfg_read_firmware_list(void);
+struct fw_file *qemu_fwcfg_find_file(const char *name);
 
 /**
  * Get system cpu number
@@ -154,4 +165,12 @@
  */
 int qemu_fwcfg_online_cpus(void);
 
+/* helper functions to iterate firmware file list */
+struct fw_file *qemu_fwcfg_file_iter_init(struct fw_cfg_file_iter *iter);
+struct fw_file *qemu_fwcfg_file_iter_next(struct fw_cfg_file_iter *iter);
+bool qemu_fwcfg_file_iter_end(struct fw_cfg_file_iter *iter);
+
+bool qemu_fwcfg_present(void);
+bool qemu_fwcfg_dma_present(void);
+
 #endif
diff --git a/include/spi.h b/include/spi.h
index 4b88d39..ca96fa4 100644
--- a/include/spi.h
+++ b/include/spi.h
@@ -612,6 +612,58 @@
 			 struct udevice *bus, struct udevice *slave,
 			 struct udevice **emulp);
 
+/**
+ * Claim the bus and prepare it for communication with a given slave.
+ *
+ * This must be called before doing any transfers with a SPI slave. It
+ * will enable and initialize any SPI hardware as necessary, and make
+ * sure that the SCK line is in the correct idle state. It is not
+ * allowed to claim the same bus for several slaves without releasing
+ * the bus in between.
+ *
+ * @dev:	The SPI slave device
+ *
+ * Returns: 0 if the bus was claimed successfully, or a negative value
+ * if it wasn't.
+ */
+int dm_spi_claim_bus(struct udevice *dev);
+
+/**
+ * Release the SPI bus
+ *
+ * This must be called once for every call to dm_spi_claim_bus() after
+ * all transfers have finished. It may disable any SPI hardware as
+ * appropriate.
+ *
+ * @slave:	The SPI slave device
+ */
+void dm_spi_release_bus(struct udevice *dev);
+
+/**
+ * SPI transfer
+ *
+ * This writes "bitlen" bits out the SPI MOSI port and simultaneously clocks
+ * "bitlen" bits in the SPI MISO port.  That's just the way SPI works.
+ *
+ * The source of the outgoing bits is the "dout" parameter and the
+ * destination of the input bits is the "din" parameter.  Note that "dout"
+ * and "din" can point to the same memory location, in which case the
+ * input data overwrites the output data (since both are buffered by
+ * temporary variables, this is OK).
+ *
+ * dm_spi_xfer() interface:
+ * @dev:	The SPI slave device which will be sending/receiving the data.
+ * @bitlen:	How many bits to write and read.
+ * @dout:	Pointer to a string of bits to send out.  The bits are
+ *		held in a byte array and are sent MSB first.
+ * @din:	Pointer to a string of bits that will be filled in.
+ * @flags:	A bitwise combination of SPI_XFER_* flags.
+ *
+ * Returns: 0 on success, not 0 on failure
+ */
+int dm_spi_xfer(struct udevice *dev, unsigned int bitlen,
+		const void *dout, void *din, unsigned long flags);
+
 /* Access the operations for a SPI device */
 #define spi_get_ops(dev)	((struct dm_spi_ops *)(dev)->driver->ops)
 #define spi_emul_get_ops(dev)	((struct dm_spi_emul_ops *)(dev)->driver->ops)
diff --git a/include/spl.h b/include/spl.h
index de4f70a..335b76a 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -56,8 +56,9 @@
 u32 spl_boot_device(void);
 u32 spl_boot_mode(void);
 void spl_set_header_raw_uboot(void);
-void spl_parse_image_header(const struct image_header *header);
+int spl_parse_image_header(const struct image_header *header);
 void spl_board_prepare_for_linux(void);
+void spl_board_prepare_for_boot(void);
 void __noreturn jump_to_image_linux(void *arg);
 int spl_start_uboot(void);
 void spl_display_print(void);
diff --git a/include/systemace.h b/include/systemace.h
deleted file mode 100644
index 3b6ec7d..0000000
--- a/include/systemace.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef __SYSTEMACE_H
-#define __SYSTEMACE_H
-/*
- * Copyright (c) 2004 Picture Elements, Inc.
- *    Stephen Williams (steve@picturel.com)
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#ifdef CONFIG_SYSTEMACE
-
-# include  <part.h>
-
-struct blk_desc *systemace_get_dev(int dev);
-
-#endif	/* CONFIG_SYSTEMACE */
-#endif	/* __SYSTEMACE_H */
diff --git a/include/usb.h b/include/usb.h
index 5adad36..02a0ccd 100644
--- a/include/usb.h
+++ b/include/usb.h
@@ -228,7 +228,6 @@
 #ifdef CONFIG_USB_STORAGE
 
 #define USB_MAX_STOR_DEV 7
-struct blk_desc *usb_stor_get_dev(int index);
 int usb_stor_scan(int mode);
 int usb_stor_info(void);
 
diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c
index 28e5b7f..075fd34 100644
--- a/lib/efi_loader/efi_disk.c
+++ b/lib/efi_loader/efi_disk.c
@@ -7,6 +7,7 @@
  */
 
 #include <common.h>
+#include <blk.h>
 #include <efi_loader.h>
 #include <inttypes.h>
 #include <part.h>
@@ -142,7 +143,7 @@
 };
 
 static void efi_disk_add_dev(char *name,
-			     const struct block_drvr *cur_drvr,
+			     const struct blk_driver *cur_drvr,
 			     const struct blk_desc *desc,
 			     int dev_index,
 			     lbaint_t offset)
@@ -160,7 +161,7 @@
 	diskobj->parent.protocols[1].open = efi_disk_open_dp;
 	diskobj->parent.handle = diskobj;
 	diskobj->ops = block_io_disk_template;
-	diskobj->ifname = cur_drvr->name;
+	diskobj->ifname = cur_drvr->if_typename;
 	diskobj->dev_index = dev_index;
 	diskobj->offset = offset;
 
@@ -189,7 +190,7 @@
 }
 
 static int efi_disk_create_eltorito(struct blk_desc *desc,
-				    const struct block_drvr *cur_drvr,
+				    const struct blk_driver *cur_drvr,
 				    int diskid)
 {
 	int disks = 0;
@@ -202,8 +203,8 @@
 		return 0;
 
 	while (!part_get_info(desc, part, &info)) {
-		snprintf(devname, sizeof(devname), "%s%d:%d", cur_drvr->name,
-			 diskid, part);
+		snprintf(devname, sizeof(devname), "%s%d:%d",
+			 cur_drvr->if_typename, diskid, part);
 		efi_disk_add_dev(devname, cur_drvr, desc, diskid, info.start);
 		part++;
 		disks++;
@@ -222,25 +223,29 @@
  */
 int efi_disk_register(void)
 {
-	const struct block_drvr *cur_drvr;
-	int i;
+	const struct blk_driver *cur_drvr;
+	int i, if_type;
 	int disks = 0;
 
 	/* Search for all available disk devices */
-	for (cur_drvr = block_drvr; cur_drvr->name; cur_drvr++) {
-		printf("Scanning disks on %s...\n", cur_drvr->name);
+	for (if_type = 0; if_type < IF_TYPE_COUNT; if_type++) {
+		cur_drvr = blk_driver_lookup_type(if_type);
+		if (!cur_drvr)
+			continue;
+
+		printf("Scanning disks on %s...\n", cur_drvr->if_typename);
 		for (i = 0; i < 4; i++) {
 			struct blk_desc *desc;
 			char devname[32] = { 0 }; /* dp->str is u16[32] long */
 
-			desc = blk_get_dev(cur_drvr->name, i);
+			desc = blk_get_devnum_by_type(if_type, i);
 			if (!desc)
 				continue;
 			if (desc->type == DEV_TYPE_UNKNOWN)
 				continue;
 
 			snprintf(devname, sizeof(devname), "%s%d",
-				 cur_drvr->name, i);
+				 cur_drvr->if_typename, i);
 			efi_disk_add_dev(devname, cur_drvr, desc, i, 0);
 			disks++;
 
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index ad1d9b5..97a09a2 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -323,13 +323,13 @@
 
 # ACPI
 # ---------------------------------------------------------------------------
-quiet_cmd_acpi_c_asl= ASL     $@
+quiet_cmd_acpi_c_asl= ASL     $<
 cmd_acpi_c_asl=         \
-	$(CPP) -x assembler-with-cpp -P -o $<.tmp $<; \
-	iasl -p $< -tc -va $<.tmp; \
+	$(CPP) -x assembler-with-cpp -P $(UBOOTINCLUDE) -o $<.tmp $<; \
+	iasl -p $< -tc $<.tmp $(if $(KBUILD_VERBOSE:1=), >/dev/null); \
 	mv $(patsubst %.asl,%.hex,$<) $@
 
-$(obj)/%.c:    $(src)/%.asl
+$(obj)/dsdt.c:    $(src)/dsdt.asl
 	$(call cmd,acpi_c_asl)
 
 # Bzip2
diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
index ec8d8f1..6d2017d 100644
--- a/scripts/Makefile.spl
+++ b/scripts/Makefile.spl
@@ -129,7 +129,12 @@
 boot.bin: $(obj)/u-boot-spl.bin FORCE
 	$(call if_changed,mkimage)
 else
+ifdef CONFIG_ARCH_ZYNQ
 MKIMAGEFLAGS_boot.bin = -T zynqimage
+endif
+ifdef CONFIG_ARCH_ZYNQMP
+MKIMAGEFLAGS_boot.bin = -T zynqmpimage
+endif
 
 spl/boot.bin: $(obj)/u-boot-spl.bin FORCE
 	$(call if_changed,mkimage)
@@ -157,6 +162,8 @@
 ALL-y	+= $(obj)/boot.bin
 endif
 
+ALL-(CONFIG_ARCH_ZYNQMP)	+= $(obj)/boot.bin
+
 all:	$(ALL-y)
 
 quiet_cmd_cat = CAT     $@
diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c
index e8e8c77..9bd0de2 100644
--- a/scripts/basic/fixdep.c
+++ b/scripts/basic/fixdep.c
@@ -296,7 +296,11 @@
 		perror(filename);
 		exit(2);
 	}
-	fstat(fd, &st);
+	if (fstat(fd, &st) < 0) {
+		fprintf(stderr, "fixdep: error fstat'ing config file: ");
+		perror(filename);
+		exit(2);
+	}
 	if (st.st_size == 0) {
 		close(fd);
 		return;
diff --git a/test/dm/blk.c b/test/dm/blk.c
index f4ea32e..012bf4c 100644
--- a/test/dm/blk.c
+++ b/test/dm/blk.c
@@ -83,12 +83,12 @@
 	ut_asserteq_ptr(usb_dev, dev_get_parent(dev));
 
 	/* Check we have one block device for each mass storage device */
-	ut_asserteq(3, count_blk_devices());
+	ut_asserteq(4, count_blk_devices());
 
 	/* Now go around again, making sure the old devices were unbound */
 	ut_assertok(usb_stop());
 	ut_assertok(usb_init());
-	ut_asserteq(3, count_blk_devices());
+	ut_asserteq(4, count_blk_devices());
 	ut_assertok(usb_stop());
 
 	return 0;
diff --git a/test/dm/mmc.c b/test/dm/mmc.c
index 0461423..5bca4b7 100644
--- a/test/dm/mmc.c
+++ b/test/dm/mmc.c
@@ -25,3 +25,22 @@
 	return 0;
 }
 DM_TEST(dm_test_mmc_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
+
+static int dm_test_mmc_blk(struct unit_test_state *uts)
+{
+	struct udevice *dev;
+	struct blk_desc *dev_desc;
+	char cmp[1024];
+
+	ut_assertok(uclass_get_device(UCLASS_MMC, 0, &dev));
+	ut_assertok(blk_get_device_by_str("mmc", "0", &dev_desc));
+
+	/* Read a few blocks and look for the string we expect */
+	ut_asserteq(512, dev_desc->blksz);
+	memset(cmp, '\0', sizeof(cmp));
+	ut_asserteq(2, blk_dread(dev_desc, 0, 2, cmp));
+	ut_assertok(strcmp(cmp, "this is a test"));
+
+	return 0;
+}
+DM_TEST(dm_test_mmc_blk, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
diff --git a/tools/Makefile b/tools/Makefile
index da50e1b..63355aa 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -98,6 +98,7 @@
 			common/hash.o \
 			ublimage.o \
 			zynqimage.o \
+			zynqmpimage.o \
 			$(LIBFDT_OBJS) \
 			$(RSA_OBJS-y)
 
diff --git a/tools/buildman/README b/tools/buildman/README
index 4705d26..26755c5 100644
--- a/tools/buildman/README
+++ b/tools/buildman/README
@@ -898,6 +898,48 @@
 will build commits in us-buildman that are not in upstream/master.
 
 
+Building Faster
+===============
+
+By default, buildman executes 'make mrproper' prior to building the first
+commit for each board. This causes everything to be built from scratch. If you
+trust the build system's incremental build capabilities, you can pass the -I
+flag to skip the 'make mproper' invocation, which will reduce the amount of
+work 'make' does, and hence speed up the build. This flag will speed up any
+buildman invocation, since it reduces the amount of work done on any build.
+
+One possible application of buildman is as part of a continual edit, build,
+edit, build, ... cycle; repeatedly applying buildman to the same change or
+series of changes while making small incremental modifications to the source
+each time. This provides quick feedback regarding the correctness of recent
+modifications. In this scenario, buildman's default choice of build directory
+causes more build work to be performed than strictly necessary.
+
+By default, each buildman thread uses a single directory for all builds. When a
+thread builds multiple boards, the configuration built in this directory will
+cycle through various different configurations, one per board built by the
+thread. Variations in the configuration will force a rebuild of affected source
+files when a thread switches between boards. Ideally, such buildman-induced
+rebuilds would not happen, thus allowing the build to operate as efficiently as
+the build system and source changes allow. buildman's -P flag may be used to
+enable this; -P causes each board to be built in a separate (board-specific)
+directory, thus avoiding any buildman-induced configuration changes in any
+build directory.
+
+U-Boot's build system embeds information such as a build timestamp into the
+final binary. This information varies each time U-Boot is built. This causes
+various files to be rebuilt even if no source changes are made, which in turn
+requires that the final U-Boot binary be re-linked. This unnecessary work can
+be avoided by turning off the timestamp feature. This can be achieved by
+setting the SOURCE_DATE_EPOCH environment variable to 0.
+
+Combining all of these options together yields the command-line shown below.
+This will provide the quickest possible feedback regarding the current content
+of the source tree, thus allowing rapid tested evolution of the code.
+
+    SOURCE_DATE_EPOCH=0 ./tools/buildman/buildman -I -P tegra
+
+
 Other options
 =============
 
diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
index 141bf64..8ec3551 100644
--- a/tools/buildman/builder.py
+++ b/tools/buildman/builder.py
@@ -205,7 +205,8 @@
 
     def __init__(self, toolchains, base_dir, git_dir, num_threads, num_jobs,
                  gnu_make='make', checkout=True, show_unknown=True, step=1,
-                 no_subdirs=False, full_path=False, verbose_build=False):
+                 no_subdirs=False, full_path=False, verbose_build=False,
+                 incremental=False, per_board_out_dir=False):
         """Create a new Builder object
 
         Args:
@@ -224,6 +225,10 @@
             full_path: Return the full path in CROSS_COMPILE and don't set
                 PATH
             verbose_build: Run build with V=1 and don't use 'make -s'
+            incremental: Always perform incremental builds; don't run make
+                mrproper when configuring
+            per_board_out_dir: Build in a separate persistent directory per
+                board rather than a thread-specific directory
         """
         self.toolchains = toolchains
         self.base_dir = base_dir
@@ -263,7 +268,8 @@
         self.queue = Queue.Queue()
         self.out_queue = Queue.Queue()
         for i in range(self.num_threads):
-            t = builderthread.BuilderThread(self, i)
+            t = builderthread.BuilderThread(self, i, incremental,
+                    per_board_out_dir)
             t.setDaemon(True)
             t.start()
             self.threads.append(t)
diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py
index cf25bb8..c512d3b 100644
--- a/tools/buildman/builderthread.py
+++ b/tools/buildman/builderthread.py
@@ -80,11 +80,13 @@
         thread_num: Our thread number (0-n-1), used to decide on a
                 temporary directory
     """
-    def __init__(self, builder, thread_num):
+    def __init__(self, builder, thread_num, incremental, per_board_out_dir):
         """Set up a new builder thread"""
         threading.Thread.__init__(self)
         self.builder = builder
         self.thread_num = thread_num
+        self.incremental = incremental
+        self.per_board_out_dir = per_board_out_dir
 
     def Make(self, commit, brd, stage, cwd, *args, **kwargs):
         """Run 'make' on a particular commit and board.
@@ -136,7 +138,11 @@
         if self.builder.in_tree:
             out_dir = work_dir
         else:
-            out_dir = os.path.join(work_dir, 'build')
+            if self.per_board_out_dir:
+                out_rel_dir = os.path.join('..', brd.target)
+            else:
+                out_rel_dir = 'build'
+            out_dir = os.path.join(work_dir, out_rel_dir)
 
         # Check if the job was already completed last time
         done_file = self.builder.GetDoneFile(commit_upto, brd.target)
@@ -197,12 +203,12 @@
                         #
                         # Symlinks can confuse U-Boot's Makefile since
                         # we may use '..' in our path, so remove them.
-                        work_dir = os.path.realpath(work_dir)
-                        args.append('O=%s/build' % work_dir)
+                        out_dir = os.path.realpath(out_dir)
+                        args.append('O=%s' % out_dir)
                         cwd = None
                         src_dir = os.getcwd()
                     else:
-                        args.append('O=build')
+                        args.append('O=%s' % out_rel_dir)
                 if self.builder.verbose_build:
                     args.append('V=1')
                 else:
@@ -215,9 +221,11 @@
 
                 # If we need to reconfigure, do that now
                 if do_config:
-                    result = self.Make(commit, brd, 'mrproper', cwd,
-                            'mrproper', *args, env=env)
-                    config_out = result.combined
+                    config_out = ''
+                    if not self.incremental:
+                        result = self.Make(commit, brd, 'mrproper', cwd,
+                                'mrproper', *args, env=env)
+                        config_out += result.combined
                     result = self.Make(commit, brd, 'config', cwd,
                             *(args + config_args), env=env)
                     config_out += result.combined
diff --git a/tools/buildman/cmdline.py b/tools/buildman/cmdline.py
index 8341ab1..3e3bd63 100644
--- a/tools/buildman/cmdline.py
+++ b/tools/buildman/cmdline.py
@@ -49,6 +49,8 @@
     parser.add_option('-i', '--in-tree', dest='in_tree',
           action='store_true', default=False,
           help='Build in the source tree instead of a separate directory')
+    parser.add_option('-I', '--incremental', action='store_true',
+          default=False, help='Do not run make mrproper (when reconfiguring)')
     parser.add_option('-j', '--jobs', dest='jobs', type='int',
           default=None, help='Number of jobs to run at once (passed to make)')
     parser.add_option('-k', '--keep-outputs', action='store_true',
@@ -70,6 +72,8 @@
           default=False, help='Do a rough build, with limited warning resolution')
     parser.add_option('-p', '--full-path', action='store_true',
           default=False, help="Use full toolchain path in CROSS_COMPILE")
+    parser.add_option('-P', '--per-board-out-dir', action='store_true',
+          default=False, help="Use an O= (output) directory per board rather than per thread")
     parser.add_option('-s', '--summary', action='store_true',
           default=False, help='Show a build summary')
     parser.add_option('-S', '--show-sizes', action='store_true',
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index c2c54bf..aeb128a 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -250,7 +250,9 @@
             options.threads, options.jobs, gnu_make=gnu_make, checkout=True,
             show_unknown=options.show_unknown, step=options.step,
             no_subdirs=options.no_subdirs, full_path=options.full_path,
-            verbose_build=options.verbose_build)
+            verbose_build=options.verbose_build,
+            incremental=options.incremental,
+            per_board_out_dir=options.per_board_out_dir,)
     builder.force_config_on_failure = not options.quick
     if make_func:
         builder.do_make = make_func
diff --git a/tools/imagetool.c b/tools/imagetool.c
index 916ab96..08d191d 100644
--- a/tools/imagetool.c
+++ b/tools/imagetool.c
@@ -51,7 +51,8 @@
 				 * successful
 				 */
 				if ((*curr)->print_header) {
-					(*curr)->print_header(ptr);
+					if (!params->quiet)
+						(*curr)->print_header(ptr);
 				} else {
 					fprintf(stderr,
 						"%s: print_header undefined for %s\n",
diff --git a/tools/imagetool.h b/tools/imagetool.h
index 24f8f4b..a3ed0f4 100644
--- a/tools/imagetool.h
+++ b/tools/imagetool.h
@@ -73,6 +73,7 @@
 	struct content_info *content_head;	/* List of files to include */
 	struct content_info *content_tail;
 	bool external_data;	/* Store data outside the FIT */
+	bool quiet;		/* Don't output text in normal operation */
 };
 
 /*
diff --git a/tools/imximage.c b/tools/imximage.c
index 7c21922..092d550 100644
--- a/tools/imximage.c
+++ b/tools/imximage.c
@@ -209,7 +209,7 @@
 		d = d2;
 		d->write_dcd_command.tag = DCD_CHECK_DATA_COMMAND_TAG;
 		d->write_dcd_command.length = cpu_to_be16(4);
-		d->write_dcd_command.param = DCD_CHECK_BITS_SET_PARAM;
+		d->write_dcd_command.param = DCD_CHECK_BITS_CLR_PARAM;
 		break;
 	default:
 		break;
diff --git a/tools/mkimage.c b/tools/mkimage.c
index 93d1c16..aefe22f 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -136,7 +136,7 @@
 	int opt;
 
 	while ((opt = getopt(argc, argv,
-			     "a:A:b:cC:d:D:e:Ef:Fk:K:ln:O:rR:sT:vVx")) != -1) {
+			     "a:A:b:cC:d:D:e:Ef:Fk:K:ln:O:rR:qsT:vVx")) != -1) {
 		switch (opt) {
 		case 'a':
 			params.addr = strtoull(optarg, &ptr, 16);
@@ -216,6 +216,9 @@
 			if (params.os < 0)
 				usage("Invalid operating system");
 			break;
+		case 'q':
+			params.quiet = 1;
+			break;
 		case 'r':
 			params.require_keys = 1;
 			break;
diff --git a/tools/zynqmpimage.c b/tools/zynqmpimage.c
new file mode 100644
index 0000000..3f28eb4
--- /dev/null
+++ b/tools/zynqmpimage.c
@@ -0,0 +1,269 @@
+/*
+ * Copyright (C) 2016 Michal Simek <michals@xilinx.com>
+ * Copyright (C) 2015 Nathan Rossi <nathan@nathanrossi.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ *
+ * The following Boot Header format/structures and values are defined in the
+ * following documents:
+ *   * ug1085 ZynqMP TRM (Chapter 9, Table 9-3)
+ *
+ * Expected Header Size = 0x9C0
+ * Forced as 'little' endian, 32-bit words
+ *
+ *  0x  0 - Interrupt table (8 words)
+ *  ...     (Default value = 0xeafffffe)
+ *  0x 1f
+ *  0x 20 - Width detection
+ *         * DEFAULT_WIDTHDETECTION    0xaa995566
+ *  0x 24 - Image identifier
+ *         * DEFAULT_IMAGEIDENTIFIER   0x584c4e58
+ *  0x 28 - Encryption
+ *         * 0x00000000 - None
+ *         * 0xa5c3c5a3 - eFuse
+ *         * 0xa5c3c5a7 - obfuscated key in eFUSE
+ *         * 0x3a5c3c5a - bbRam
+ *         * 0xa35c7ca5 - obfuscated key in boot header
+ *  0x 2C - Image load
+ *  0x 30 - Image offset
+ *  0x 34 - PFW image length
+ *  0x 38 - Total PFW image length
+ *  0x 3C - Image length
+ *  0x 40 - Total image length
+ *  0x 44 - Image attributes
+ *  0x 48 - Header checksum
+ *  0x 4c - Obfuscated key
+ *  ...
+ *  0x 68
+ *  0x 6c - Reserved
+ *  0x 70 - User defined
+ *  ...
+ *  0x 9c
+ *  0x a0 - Secure header initialization vector
+ *  ...
+ *  0x a8
+ *  0x ac - Obfuscated key initialization vector
+ *  ...
+ *  0x b4
+ *  0x b8 - Register Initialization, 511 Address and Data word pairs
+ *         * List is terminated with an address of 0xffffffff or
+ *  ...    * at the max number of entries
+ *  0x8b4
+ *  0x8b8 - Reserved
+ *  ...
+ *  0x9bf
+ *  0x9c0 - Data/Image starts here or above
+ */
+
+#include "imagetool.h"
+#include "mkimage.h"
+#include <image.h>
+
+#define HEADER_INTERRUPT_DEFAULT (cpu_to_le32(0xeafffffe))
+#define HEADER_REGINIT_NULL (cpu_to_le32(0xffffffff))
+#define HEADER_WIDTHDETECTION (cpu_to_le32(0xaa995566))
+#define HEADER_IMAGEIDENTIFIER (cpu_to_le32(0x584c4e58))
+
+enum {
+	ENCRYPTION_EFUSE = 0xa5c3c5a3,
+	ENCRYPTION_OEFUSE = 0xa5c3c5a7,
+	ENCRYPTION_BBRAM = 0x3a5c3c5a,
+	ENCRYPTION_OBBRAM = 0xa35c7ca5,
+	ENCRYPTION_NONE = 0x0,
+};
+
+struct zynqmp_reginit {
+	uint32_t address;
+	uint32_t data;
+};
+
+#define HEADER_INTERRUPT_VECTORS	8
+#define HEADER_REGINITS			256
+
+struct zynqmp_header {
+	uint32_t interrupt_vectors[HEADER_INTERRUPT_VECTORS]; /* 0x0 */
+	uint32_t width_detection; /* 0x20 */
+	uint32_t image_identifier; /* 0x24 */
+	uint32_t encryption; /* 0x28 */
+	uint32_t image_load; /* 0x2c */
+	uint32_t image_offset; /* 0x30 */
+	uint32_t pfw_image_length; /* 0x34 */
+	uint32_t total_pfw_image_length; /* 0x38 */
+	uint32_t image_size; /* 0x3c */
+	uint32_t image_stored_size; /* 0x40 */
+	uint32_t image_attributes; /* 0x44 */
+	uint32_t checksum; /* 0x48 */
+	uint32_t __reserved1[27]; /* 0x4c */
+	struct zynqmp_reginit register_init[HEADER_REGINITS]; /* 0xb8 */
+	uint32_t __reserved4[66]; /* 0x9c0 */
+};
+
+static struct zynqmp_header zynqmpimage_header;
+
+static uint32_t zynqmpimage_checksum(struct zynqmp_header *ptr)
+{
+	uint32_t checksum = 0;
+
+	if (ptr == NULL)
+		return 0;
+
+	checksum += le32_to_cpu(ptr->width_detection);
+	checksum += le32_to_cpu(ptr->image_identifier);
+	checksum += le32_to_cpu(ptr->encryption);
+	checksum += le32_to_cpu(ptr->image_load);
+	checksum += le32_to_cpu(ptr->image_offset);
+	checksum += le32_to_cpu(ptr->pfw_image_length);
+	checksum += le32_to_cpu(ptr->total_pfw_image_length);
+	checksum += le32_to_cpu(ptr->image_size);
+	checksum += le32_to_cpu(ptr->image_stored_size);
+	checksum += le32_to_cpu(ptr->image_attributes);
+	checksum = ~checksum;
+
+	return cpu_to_le32(checksum);
+}
+
+static void zynqmpimage_default_header(struct zynqmp_header *ptr)
+{
+	int i;
+
+	if (ptr == NULL)
+		return;
+
+	ptr->width_detection = HEADER_WIDTHDETECTION;
+	ptr->image_attributes = 0x800;
+	ptr->image_identifier = HEADER_IMAGEIDENTIFIER;
+	ptr->encryption = cpu_to_le32(ENCRYPTION_NONE);
+
+	/* Setup not-supported/constant/reserved fields */
+	for (i = 0; i < HEADER_INTERRUPT_VECTORS; i++)
+		ptr->interrupt_vectors[i] = HEADER_INTERRUPT_DEFAULT;
+
+	for (i = 0; i < HEADER_REGINITS; i++) {
+		ptr->register_init[i].address = HEADER_REGINIT_NULL;
+		ptr->register_init[i].data = 0;
+	}
+
+	/*
+	 * Certain reserved fields are required to be set to 0, ensure they are
+	 * set as such.
+	 */
+	ptr->pfw_image_length = 0x0;
+	ptr->total_pfw_image_length = 0x0;
+}
+
+/* mkimage glue functions */
+static int zynqmpimage_verify_header(unsigned char *ptr, int image_size,
+		struct image_tool_params *params)
+{
+	struct zynqmp_header *zynqhdr = (struct zynqmp_header *)ptr;
+
+	if (image_size < sizeof(struct zynqmp_header))
+		return -1;
+
+	if (zynqhdr->width_detection != HEADER_WIDTHDETECTION)
+		return -1;
+	if (zynqhdr->image_identifier != HEADER_IMAGEIDENTIFIER)
+		return -1;
+
+	if (zynqmpimage_checksum(zynqhdr) != zynqhdr->checksum)
+		return -1;
+
+	return 0;
+}
+
+static void zynqmpimage_print_header(const void *ptr)
+{
+	struct zynqmp_header *zynqhdr = (struct zynqmp_header *)ptr;
+	int i;
+
+	printf("Image Type   : Xilinx Zynq Boot Image support\n");
+	printf("Image Offset : 0x%08x\n", le32_to_cpu(zynqhdr->image_offset));
+	printf("Image Size   : %lu bytes (%lu bytes packed)\n",
+	       (unsigned long)le32_to_cpu(zynqhdr->image_size),
+	       (unsigned long)le32_to_cpu(zynqhdr->image_stored_size));
+	printf("Image Load   : 0x%08x\n", le32_to_cpu(zynqhdr->image_load));
+	printf("Checksum     : 0x%08x\n", le32_to_cpu(zynqhdr->checksum));
+
+	for (i = 0; i < HEADER_INTERRUPT_VECTORS; i++) {
+		if (zynqhdr->interrupt_vectors[i] == HEADER_INTERRUPT_DEFAULT)
+			continue;
+
+		printf("Modified Interrupt Vector Address [%d]: 0x%08x\n", i,
+		       le32_to_cpu(zynqhdr->interrupt_vectors[i]));
+	}
+
+	for (i = 0; i < HEADER_REGINITS; i++) {
+		if (zynqhdr->register_init[i].address == HEADER_REGINIT_NULL)
+			break;
+
+		if (i == 0)
+			printf("Custom Register Initialization:\n");
+
+		printf("    @ 0x%08x -> 0x%08x\n",
+		       le32_to_cpu(zynqhdr->register_init[i].address),
+		       le32_to_cpu(zynqhdr->register_init[i].data));
+	}
+}
+
+static int zynqmpimage_check_params(struct image_tool_params *params)
+{
+	if (!params)
+		return 0;
+
+	if (params->addr != 0x0) {
+		fprintf(stderr, "Error: Load Address cannot be specified.\n");
+		return -1;
+	}
+
+	/*
+	 * If the entry point is specified ensure it is 64 byte aligned.
+	 */
+	if (params->eflag && (params->ep % 64 != 0)) {
+		fprintf(stderr,
+			"Error: Entry Point must be aligned to a 64-byte boundary.\n");
+		return -1;
+	}
+
+	return !(params->lflag || params->dflag);
+}
+
+static int zynqmpimage_check_image_types(uint8_t type)
+{
+	if (type == IH_TYPE_ZYNQMPIMAGE)
+		return EXIT_SUCCESS;
+	return EXIT_FAILURE;
+}
+
+static void zynqmpimage_set_header(void *ptr, struct stat *sbuf, int ifd,
+		struct image_tool_params *params)
+{
+	struct zynqmp_header *zynqhdr = (struct zynqmp_header *)ptr;
+	zynqmpimage_default_header(zynqhdr);
+
+	/* place image directly after header */
+	zynqhdr->image_offset =
+		cpu_to_le32((uint32_t)sizeof(struct zynqmp_header));
+	zynqhdr->image_size = cpu_to_le32(params->file_size -
+					  sizeof(struct zynqmp_header));
+	zynqhdr->image_stored_size = zynqhdr->image_size;
+	zynqhdr->image_load = 0xfffc0000;
+	if (params->eflag)
+		zynqhdr->image_load = cpu_to_le32((uint32_t)params->ep);
+
+	zynqhdr->checksum = zynqmpimage_checksum(zynqhdr);
+}
+
+U_BOOT_IMAGE_TYPE(
+	zynqmpimage,
+	"Xilinx ZynqMP Boot Image support",
+	sizeof(struct zynqmp_header),
+	(void *)&zynqmpimage_header,
+	zynqmpimage_check_params,
+	zynqmpimage_verify_header,
+	zynqmpimage_print_header,
+	zynqmpimage_set_header,
+	NULL,
+	zynqmpimage_check_image_types,
+	NULL,
+	NULL
+);
